Элемент меню

Данный объект является конкретным пунктом меню. Через него можно узнать все свойства у меню, включая переменные, ссылку, родителя, детей и т.д. Его практически бесполезно создавать и как правило, мы получаем ссылку на него из других метовдов набора \Eva\menu*.

\Eva\menuItem::getUrl()

Вернет ссылку на меню.

\Eva\menuItem::getName()

Вернет название меню.

\Eva\menuItem::getVar("some-var")

Вернет определенную переменную.

\Eva\menuItem::getValues()

Вернет все свойства меню.

\Eva\menuItem::getChildren()

Вернет масссив подменю у текущего меню.

\Eva\menuItem::getParent()

Вернет ссылку на родителя.

\Eva\menuItem::isSelected()

Проверит, выделено ли меню.

Имейте ввиду, так как дерево меню является глобальным для всего сайта, то для проверки isSelected, доступ к меню должен быть осуществлен через menuItemsIterator, который был создан скорректным itemsMenuManipulator (который в свою очередь хранит записи о том, выделено ли меню.

\Eva\menuItem::isPublic()

Проверит, опубликовано ли меню.

\Eva\menuItem::canAccess()

Проверит, есть ли доступ к пункту меню.

Основные методы, из которых можно получить \Eva\menuItem

Eva\menu::getInstance()->getMainMenu()->getTree();

При данном вызове вы получите ссылку на конкретный пункт меню в котором вы находитесь. Это очень полезно. напрмер можно сделать следующее:

При foreach итерации любого экземпляра \Eva\menuItemsIterator

Например при выводе главного меню.

Кстати, пример можно расширить. Например нам нужно вывести подменю, сразу, рядом с выбранным пунктом меню.

Через получение детей или родителя

Допустим у нас второстепенное меню у каждого пункта главного меню отображается (например оно является всплывающим).