0

我为 joomla 2.5 开发了一个模块,它工作得很好,问题是我不希望在显示组件的某个视图但该视图不是菜单链接时呈现它,所以我不能告诉我模块在我不想渲染时不渲染。

4

2 回答 2

0

两种可能:

  1. 将该视图分配给从未显示的菜单中的菜单项。您可以像往常一样隐藏模块。

  2. 由于您有一个自定义模块,您可以修改模块以检查组件和视图,而不是在某些情况下呈现自身。

于 2012-07-25T23:11:17.317 回答
0

“检查组件并查看并且在某些情况下不呈现自身”可能会遇到的一个问题是,如果模块位于模块位置,当其中没有模块时应该“折叠”(例如,权限或左列),它不会折叠,因为模块仍然被分配(即使它没有渲染任何东西)。

问题在于决定在哪里显示模块。是模块本身决定何时渲染的问题,还是逻辑应该在其他地方,决定“在这个页面上,是否应该出现一个特定的模块?”。我建议后者。

一个很好的解决方案是MetaMod Pro,它允许您构建确定其他模块是否应该出现在页面上的条件。然后,您输入一段 PHP 代码来进行检测。

所以片段可能是:

if (! ($option == 'com_mycomponent' and $view == 'myview') ) return XXX;
// replace XXX with the module id of the module you want to disappear.

即“如果我们不在带有 mycomponent 和 myview 的页面上,则显示模块 XXX”。

提示:如果不包含,专业版将允许模块完全消失。免费版本可能会留下一些 HTML。

于 2012-11-21T19:59:08.947 回答