как получить объект меню Joomla на основе имени? - PullRequest
0 голосов
/ 13 августа 2010

Этот вопрос немного специфичен для joomla.

Я знаю, если с помощью кода $menu = &JSite::getMenu() я могу получить справочный объект полного меню.Но как я могу получить указанное меню, основанное на имени?

Мой сценарий: у меня есть нижнее меню с элементами: home |о нас |правила |Политика конфиденциальности.

Мне нужно отобразить ссылки на два пункта меню Правила и политику конфиденциальности в компоненте.Я не могу жестко кодировать ссылки, так как itemid будет отличаться в среде разработки и производства.

Есть ли у нас какой-то обходной путь, например $menu = &JSite::getMenu()->get('footer-menu')->getMenuItem('rules');, который может дать мне объект refrence для определенного пункта меню, из которого я могу создать свои ссылки для этой конкретной статьи.

Спасибо, Tanmay

Ответы [ 2 ]

2 голосов
/ 24 января 2013

Метод № 1:

$menu = & JSite::getMenu();
$item = $menu->getItems('link', 'index.php?option=com_content&view=article&id=1', true);

Метод № 2:

$menu = & JSite::getMenu();
$item = $menu->getItems('alias', 'rules', true);
2 голосов
/ 19 августа 2010

Насколько я знаю, нет встроенного способа сделать это.Но я чувствую твою боль.

Вот адаптация функции, которую я построил раньше.Это не рекурсивно, так что вы получите только один уровень в иерархии меню, но этого было достаточно для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...