2013-09-25 5 views
0

я написал компонент в 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'); 
... 

в каждом из view.html.php файлов, чтобы перейти от обозрения на другой ,

Это прекрасно работает, но это раздражает, если я добавляю или меняю элемент меню, потому что мне нужно его изменить во всех файлах по отдельности.

Каков наилучший способ (и соответствует дизайну MVC) для этого? Я предполагаю, что просто использовать php-методы (включить или потребовать) - это не путь.

+0

Обычно вы видите что-то вроде этого в вспомогательном файле, а затем просто каждый из них вызывает метод помощника, который на самом деле описывает меню, как показано выше. –

ответ

2

Вместо того чтобы называть это в каждом из файлов view.html.php, я обычно вызываю этот конкретный код в контроллере.php или контроллерах/*. Php, так что это своего рода «глобальный» код для моего компоненты.

Я не уверен на 100%, если это лучший способ сделать это в MVC, но, как и в некоторых комментариях выше, вы также можете использовать вспомогательные функции для вызова этого кода и избегать его сохранения в нескольких точках.

Хотя, я уверен, что нашел эту инструкцию (вызов в контроллере) в некоторых Joomla! учебник или в другой Joomla! компонент, поэтому, как правило, это хорошая практика.

+1

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. – NeverHopeless

+0

Вопрос: «Я пишу этот код в представлении. Но я не хочу писать его во всех представлениях. Каков наилучший способ (и соответствовать дизайну MVC) для этого?». Простой ответ: «переместите свой код на контроллер». Это не просьба о разъяснении. – mavrosxristoforos

+0

Похоже на комментарий, а не на ответ. Добавьте больше соответствующих бит. – NeverHopeless