Я нашел в этой теме: получить заголовок активного элемента меню, как получить заголовок активного пункта меню:
$menu = &Jsite::getMenu();
$menuname = $menu->getActive()->title;
но как я могу получить его название пункта родительского меню?
Я нашел в этой теме: получить заголовок активного элемента меню, как получить заголовок активного пункта меню:
$menu = &Jsite::getMenu();
$menuname = $menu->getActive()->title;
но как я могу получить его название пункта родительского меню?
Это должно работать
$menu = JFactory::getApplication()->getMenu();
$parent = $menu->getItem( $menu->getActive()->parent_id );
$parentname = $parent->title;
$parentlink = JRoute::_( $parent->link . '&Itemid=' . $parent->id );
$menulevel = $menu->getActive()->level; $activename= $menu->getActive()->title;
Затем я добавил заголовок следующим образом: <?php echo ($menulevel == 1)?$activename:$parentname; ?>
- person Ralf; 14.08.2015
Я давно не работал с Joomla, но все же попробуйте:
$menu = JSite::getMenu();
$active = $menu->getActive();
$parent = $menu->getItem($active->parent);
Затем вы можете использовать $parent
как любой другой пункт меню:
echo $parent->title;
Я только что использовал это:
$menu = &JSite::getMenu();
$active = $menu->getActive();
$menuname = $active->title;
$parentId = $active->tree[0];
$parentName = $menu->getItem($parentId)->title;
$parentlink = $menu->getItem($parentId)->alias;
echo "<h1><a href=\"$parentlink\">".$parentName."</a></h1>";
Нашел большую часть этого на форуме Joomla и добавил часть псевдонима, о которой я догадался ... Это работает с URL-адресами SEF и перезаписью URL-адресов. Во всяком случае, заглавная строка:
&JSite::getMenu()->getItem(&JSite::getMenu()->getActive()->tree[0])->title;
... что должно совпадать с тем, что перечислил AlexP, я не проверял, что это точно то же самое.