Joomla 2.5 仅在 K2 类别上显示模块而不在 K2 项目上
Posted
技术标签:
【中文标题】Joomla 2.5 仅在 K2 类别上显示模块而不在 K2 项目上【英文标题】:Joomla 2.5 Show Module only on K2 Category not on K2 item 【发布时间】:2013-11-17 08:56:38 【问题描述】:我已将一些模块分配给类别页面,但它们也出现在 K2 项目页面上。
我尝试了高级模块管理器,但它说它与我正在使用的模块不兼容,因此“也在子项上”选项不起作用。
有什么想法吗?
【问题讨论】:
【参考方案1】:我遇到了同样的问题,解决了
为每个 K2 项目创建一个隐藏菜单, 在菜单管理器中创建一个新菜单(将其命名为隐藏),它不会出现在任何页面中, 然后在该隐藏菜单中,您可以为每个 k2 项目创建一个菜单, 并在模块管理器中从菜单分配中取消选择该菜单 该解决方案对我有用,因为我没有太多 k2 项目
【讨论】:
感谢您的回复,虽然我认为我不会再使用 Joomla,它对遇到同样问题的其他人有好处【参考方案2】:您可以做的是为您尝试显示的模块创建一个覆盖并将整个内容包装在 if 子句中。
首先将文件夹/modules/mod_MYMODULE/tmpl
复制到/templates/MYTEMPLATE/html
并将其重命名为您的模块名称,例如/templates/MYTEMPLATE/html/mod_MYMODULE
。
然后将 default.php
重命名为任何名称(例如 k2catonly.php
)并将其包装在 if 子句中,例如。
if(JFactory::getApplication()->input->get('view') == 'itemlist')
// module code
然后在模块管理器中打开所述模块并选择新的子模板(通常在高级选项中找到并称为“替代布局”。
现在您的模块将仅显示在类别中。要在所有页面上显示它,但项目页面将其包装在以下内容中:
if(JFactory::getApplication()->input->get('view') !== 'item')
// module code
【讨论】:
嗯,这对我不起作用...在“替代布局”中找不到我的新模块...以上是关于Joomla 2.5 仅在 K2 类别上显示模块而不在 K2 项目上的主要内容,如果未能解决你的问题,请参考以下文章