的Joomla!是一个免费的开源内容管理系统(CMS),用于在万维网和内部网上发布内容,以及一个模型 - 视图 - 控制器(MVC)Web应用程序框架,也可以单独使用。也可以在https://joomla.stackexchange.com/上询问Joomla问题
我们有一个基于 Joomla 的学校网站,底部有一个可以滚动的猫头鹰旋转木马。 我想让图像包含指向其网站的链接。 我到处寻找
我创建了一个 joomla 模板,但下拉菜单打开错误。它会压低我的内容,而不是仔细检查我的文本。 我的CSS: .main_menu { 顶部边距:0px; 下边距:10px...
我想发布一些要通过我的 joomla 制作的网站下载的文件,但我找不到执行此操作的工具。我怎样才能实现这个目标?有什么帮助吗?
在 Joomla 2.5 中,我们有用于分页的 getPagesLinks() 函数。 如果我有超过 100 条记录,那么它会给出 Start Prev 1 2 3 4 5 6 7 8 9 10 Next End。 我想要像开始上一页 1 2 下一页结束。 我该怎么办...
Joomla 5 中 Factory::getMailer() 应该替换为什么?
我有几个自定义 Joomla 组件,它们使用 Factory::getMailer() 发送电子邮件,但我注意到此方法已被弃用,并且在 Joomla 6 中不可用。我还没有找到任何
mamp 7.0 sequoia apache 服务器未启动
我正在尝试让 MAMP 7.0 在我的 Macbook Pro M2 上运行。当我启动服务器时,MAMP 抛出错误:Apache 无法启动 这是我尝试过的: 卸载Homebrew:没有效果 特...
我继承了一个 Joomla 网站,该网站的管理部分的文章管理器存在问题。分页不起作用!如果我单击页码、前进、后退或页面大小,则没有任何反应...
我最近“继承”了一家IT公司,该公司有一个做网站的创意部门。 生意很好,但好像我们的吞吐量很低。 每个网站仅需要 3-6 个月的时间才能完成基本工作
我正在尝试为 joomla 3 创建一个简单的图像库。我已经设法使代码正常工作。它的工作方式是,它从文章中检测字符串 {dGalley}stories{/dGallery}。我已经...
我正在使用一个joomla模块,它使用jquery,称为有机选项卡, 在渲染此模块的同一页面上,有一个图像滑块,我认为它也使用了 jquery 或 mootools,...
我正在尝试通过命令安装扩展。 在服务器中已经配置了 PHP CLI,我正在使用以下代码: shell_exec('php-cli '.$SitefilePath.' --package='.$packagePath.''); 我已经上传了...
Joomla 插件将 github 代码显示到文章中[已关闭]
joomla 2.5 是否有任何插件可用于嵌入 github 存储库中的代码。对于Word Press,有一个插件可以实现相同的功能(http://wordpress.org/extend/plugins/github-code-viewer-2/)。我
我们如何知道联系我们表单是在 Joomla 1.5 的模块上提交的。 我知道提交后联系我们表单函数submit()在组件上
基本上我正在尝试使用 Joomla JArchive::create() 函数从相对路径压缩目录。到目前为止,我可以压缩一个目录,但它会压缩整个绝对路径。 我正在使用的代码
http://mtavares.geantduweb.ca/en/annonce?view=fiche&task=fiche.display&fiche_id=5 我查遍了所有地方...如何关闭 小地图上的地图/周六/三月/地球菜单...我的...
我正在覆盖 Joomla 1.5 中的 mod_mainmenu 模块,并且无法获取要在页面上显示的 .active 或 #current CSS 类或 ID。它显示了以下菜单 HTML: 我正在覆盖 Joomla 1.5 中的 mod_mainmenu 模块,但无法获取要在页面上显示的 .active 或 #current CSS 类或 ID。它显示了以下菜单 HTML: <ul id="top-nav" class="flatList"> <li access="0" level="1" id="1"> <a href="#"> <span class="embed embed-top-nav">Home</span> <p>news, highlights</p> </a> </li> <li access="0" level="1" id="4"> <a href="/content/index.php?option=com_content&view=article&id=1&Itemid=4"> <span class="embed embed-top-nav">Watch UNC-TV</span> <p>schedule, programs</p> </a> </li> </ul> 我读到 mod_mainmenu 会自动在其中的某个位置插入 active 或 current ,以便您可以知道哪个项目是当前活动的菜单选择。但我在生成的 HTML 中没有看到其中任何一个。我想对活动元素应用一些 CSS,但似乎没有任何方法可以做到这一点。有什么想法吗? 谢谢。 更新:这是我创建的mod_mainmenu的代码: <?php // no direct access defined('_JEXEC') or die('Restricted access'); if ( ! defined('fancyMenuPatch') ) { function fancyMenuPatch($result,$tag){ $menu = JSite::getMenu(); $active = $menu->getActive(); // Add to the start of the UL tag. $begin_ul = "<ul id=\"top-nav\" class=\"flatList\">"; $begin_span = "<span class=\"embed embed-top-nav\">"; $home_p = "Home</span><p>news, highlights</p></a>"; $watch_p = "Watch UNC-TV</span><p>schedule, programs</p></a>"; $learn_p = "Learn</span><p>education, unc-tv kids</p></a>"; $support_p = "Support Us</span><p>pledge, volunteer, corporate</p></a>"; $contact_p = "Contact</span><p>feedback, connect, share</p></a>"; // do the replacements $result = str_replace("<ul class=\"menu\">",$begin_ul, $result); $result = str_replace("<span>", $begin_span, $result); $result = str_replace("Home</span></a>",$home_p,$result); $result = str_replace("Watch UNC-TV</span></a>",$watch_p,$result); $result = str_replace("Learn</span></a>",$learn_p,$result); $result = str_replace("Support Us</span></a>",$support_p,$result); $result = str_replace("Contact</span></a>",$contact_p,$result); return $result; } define('fancyMenuPatch', true); } if ( ! defined('modMainMenuXMLCallbackDefined') ) { function modMainMenuXMLCallback(&$node, $args) { $user = &JFactory::getUser(); $menu = &JSite::getMenu(); $active = $menu->getActive(); $path = isset($active) ? array_reverse($active->tree) : null; if (($args['end']) && ($node->attributes('level') >= $args['end'])) { $children = $node->children(); foreach ($node->children() as $child) { if ($child->name() == 'ul') { $node->removeChild($child); } } } if ($node->name() == 'ul') { foreach ($node->children() as $child) { if ($child->attributes('access') > $user->get('aid', 0)) { $node->removeChild($child); } } } if (($node->name() == 'li') && isset($node->ul)) { $node->addAttribute('class', 'parent'); } if (isset($path) && (in_array($node->attributes('id'), $path) || in_array($node->attributes('rel'), $path))) { if ($node->attributes('class')) { $node->addAttribute('class', $node->attributes('class').' active'); } else { $node->addAttribute('class', 'active'); } } else { if (isset($args['children']) && !$args['children']) { $children = $node->children(); foreach ($node->children() as $child) { if ($child->name() == 'ul') { $node->removeChild($child); } } } } if (($node->name() == 'li') && ($id = $node->attributes('id'))) { if ($node->attributes('class')) { $node->addAttribute('class', $node->attributes('class').' item'.$id); } else { $node->addAttribute('class', 'item'.$id); } } if (isset($path) && $node->attributes('id') == $path[0]) { $node->addAttribute('id', 'current'); } else { $node->removeAttribute('id'); } $node->removeAttribute('rel'); $node->removeAttribute('level'); $node->removeAttribute('access'); } define('modMainMenuXMLCallbackDefined', true); } ob_start(); modMainMenuHelper::render($params, 'modMyMainMenuXMLCallback'); $menu_html = ob_get_contents(); ob_end_clean(); if($params->get('menutype')=="mainmenu"){ $tag = $params->get('tag_id'); } //output the menu! echo fancyMenuPatch($menu_html,$tag); ?> 试试这个,这是 mod_mainmenu 的代码(覆盖): <?php // no direct access defined('_JEXEC') or die('Restricted access'); if ( ! defined('fancyMenuPatch') ) { function fancyMenuPatch($result,$tag){ $menu = JSite::getMenu(); $active = $menu->getActive(); // Add to the start of the UL tag. $begin_ul = "<ul id=\"top-nav\" class=\"flatList\">"; $begin_span = "<span class=\"embed embed-top-nav\">"; $home_p = "Home</span><p>news, highlights</p></a>"; $watch_p = "Watch UNC-TV</span><p>schedule, programs</p></a>"; $learn_p = "Learn</span><p>education, unc-tv kids</p></a>"; $support_p = "Support Us</span><p>pledge, volunteer, corporate</p></a>"; $contact_p = "Contact</span><p>feedback, connect, share</p></a>"; // do the replacements $result = str_replace("<ul class=\"menu\">",$begin_ul, $result); $result = str_replace("<span>", $begin_span, $result); $result = str_replace("Home</span></a>",$home_p,$result); $result = str_replace("Watch UNC-TV</span></a>",$watch_p,$result); $result = str_replace("Learn</span></a>",$learn_p,$result); $result = str_replace("Support Us</span></a>",$support_p,$result); $result = str_replace("Contact</span></a>",$contact_p,$result); return $result; } define('fancyMenuPatch', true); } if ( ! defined('modMyMainMenuXMLCallbackDefined') ) { function modMyMainMenuXMLCallback(&$node, $args) { $user = &JFactory::getUser(); $menu = &JSite::getMenu(); $active = $menu->getActive(); $path = isset($active) ? array_reverse($active->tree) : null; if (($args['end']) && ($node->attributes('level') >= $args['end'])) { $children = $node->children(); foreach ($node->children() as $child) { if ($child->name() == 'ul') { $node->removeChild($child); } } } if ($node->name() == 'ul') { foreach ($node->children() as $child) { if ($child->attributes('access') > $user->get('aid', 0)) { $node->removeChild($child); } } } if (($node->name() == 'li') && isset($node->ul)) { $node->addAttribute('class', 'parent'); } if (isset($path) && in_array($node->attributes('id'), $path)) { if ($node->attributes('class')) { $node->addAttribute('class', $node->attributes('class').' active'); } else { $node->addAttribute('class', 'active'); } } else { if (isset($args['children']) && !$args['children']) { $children = $node->children(); foreach ($node->children() as $child) { if ($child->name() == 'ul') { $node->removeChild($child); } } } } if (($node->name() == 'li') && ($id = $node->attributes('id'))) { if ($node->attributes('class')) { $node->addAttribute('class', $node->attributes('class').' item'.$id); } else { $node->addAttribute('class', 'item'.$id); } } if (isset($path) && $node->attributes('id') == $path[0]) { $node->addAttribute('id', 'current'); } else { $node->removeAttribute('id'); } $node->removeAttribute('level'); $node->removeAttribute('access'); } define('modMyMainMenuXMLCallbackDefined', true); } ob_start(); modMainMenuHelper::render($params, 'modMyMainMenuXMLCallback'); $menu_html = ob_get_contents(); ob_end_clean(); if($params->get('menutype')=="mainmenu"){ $tag = $params->get('tag_id'); } //output the menu! echo fancyMenuPatch($menu_html,$tag); ?> 检查你的template文件夹,有一个template.css文件,你可以在那里找到!
我正在使用 Joomla 版本 3.10,将 php 版本从 7.4 升级到 8.0 后,我收到此错误。 致命错误:未加括号?乙:丙? d : 不支持 e。使用(a ? b : c) 之一? d...
Joomla 2.5.6 中 Itemid 在哪里用于标记活动菜单项?
任何人都可以帮助我处理 Joomla Itemid 参数最终成为突出显示的菜单项的流程吗? 我已经在 Joomla 中嵌入了第 3 方应用程序,并且临时...
我需要哪些代码才能从 SQL 中的表的列中检索单个值 i? 用户评论数 这是表中的列名 表是: zmar_hreviews_list_total 这是我与 e 一起使用的代码...
我可以使用joomla的onAfterRender作为模块而不是插件吗?
我想在加载任何页面时向 Joomla 插入一些代码。 为此,我创建了一个插入代码的模块。 我正在尝试使用 我想在加载任何页面时向 Joomla 插入一些代码。 为此,我创建了一个插入代码的模块。 我正在尝试使用 <?php // $Id: helper.php defined('_JEXEC') or die; jimport( 'joomla.plugin.plugin' ); jimport( 'joomla.environment.response' ); class modInsertCode { function onAfterRender($params) { $code = 'some code'; $documentbody = JResponse::getBody(); $documentbody = str_replace ("</body>", $code." </body>", $documentbody); JResponse::setBody($documentbody); return true; } } ?> 但是 JResponse::getBody();返回一个空字符串。修复此代码的任何想法、解决方案? 谢谢你, 您必须使用插件来完成此操作,您将无法使用模块来完成此操作,因为在执行模块代码时尚未生成 HTML 响应。 希望对你有帮助! 我知道这有点旧,但为了将来的参考,这可以使用 jQuery 来完成: $doc = JFactory::getDocument(); $js = 'jQuery(document).ready( function() { jQuery("#module'.$module->id.'").appendTo(document.body); })'; $doc->addScriptDeclaration($js); 这是假设您已将模块中的内容包装为如下所示,包括模块 ID 以支持模块的多个实例。 <div id="module<?php echo $module->id; ?>"> Your content </div>