我已经为joomla 2.5开发了一个模块,它运行得很好,事情是我不希望在显示组件的某个视图但是该视图不是菜单链接时进行渲染,所以我可以'告诉我的模块在我不想要的时候不要渲染。
答案 0 :(得分:0)
两种可能性:
将该视图分配给从未显示的菜单中的菜单项。你可以照常隐藏模块。
由于您有一个自定义模块,您可以修改模块以检查组件和视图,而不是在某些情况下自行渲染。
答案 1 :(得分: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”。
提示:如果不包含该版本,Pro版本将允许该模块完全消失。免费版本可能会留下一些HTML。