Узнать родительский пункт меню и верхний пункт меню Joomla. Получить данные.
У текущего пункта меню можно узнать родительский пункт, а так же всю иерархию, включая самый верхний. Это полезно для различных условий или информации о разделе и подобного...
Откуда всё берётся?
// Отсюда
$app = JFactory::getApplication();
$menu = $app->getMenu();
echo '<pre>';
print_r ($menu->getActive());
echo '</pre>';
Получить ID родительского/верхнего пункта меню (смотреть комментарии)
$app = JFactory::getApplication();
$menu = $app->getMenu();
echo $menu->getActive()->id . '<br/>'; // ID текущего пункта меню
echo $menu->getActive()->parent_id . '<br/>'; // ID родительского пункта
echo $menu->getActive()->tree[0] . '<br/>'; // ID верхнего пункта (нужно когда большая вложенность)
Получить данные пункта меню, на примере родительского пункта меню
$parent_id = $menu->getActive()->parent_id;
$parent = $menu->getItem($parent_id);
$parentname = is_object($parent) ? $parent->title : ''; // заголовок родительского пункта (если он есть)
$parentlink = is_object($parent) ? $parent->route : ''; // Ссылка на родительский пункт (если он есть)
$parentlink2 = is_object($parent) ? JRoute::_( $parent->link . '&Itemid=' . $parent->id ) : ''; // Тоже ссылка на род. пункт, но с использованием id.
По той же схеме можно получить информацию и о верхнем пункте меню.