在Joomla 2.5中组件的多个视图中使用一个菜单


Using one menu in multiple views of a component in Joomla 2.5

我在Joomla 2.5中编写了一个组件,我使用它

JSubMenuHelper::addEntry('Alpha', 'index.php?option=com_teams&task=showA');
JSubMenuHelper::addEntry('Beta', 'index.php?option=com_teams&task=showB',true);
JSubMenuHelper::addEntry('Gamma', 'index.php?option=com_teams&task=showC');
...

在每个视图中.html.php文件从"视图"切换到另一个"视图"。

这工作正常,但是如果我添加或更改菜单项会很烦人,因为我必须在所有文件中单独更改它。

实现这一目标的最佳(并符合 MVC 设计)方法是什么?我想只是简单地使用 php 方法(包含或要求)不是要走的路。

我通常不是在每个视图.html.php文件中调用它,而是在 controller.php 或 controllers/*.php 中调用该特定代码,因此它是我的组件的"全局"代码。

我不是 100% 确定这是否是在 MVC 中执行此操作的最佳方法,但正如上面的一些评论一样,您还可以使用帮助程序函数来调用该代码,并避免在多个点上维护它。

虽然,我很确定我已经在一些Joomla!教程或另一个Joomla!组件中找到了这个指令(调用控制器),所以到目前为止这通常是一个很好的做法。