Блок меню core модуля menu позволяет вывести всю иерархию меню полностью, но иногда требуется показать только 1-2 верхних уровня. Посмотрим как организовать такой вывод.
Drupal в модуле menu использует функцию menu_tree(‘ИМЯ МЕНЮ’), чтобы рендерить нужное меню в блоке. Глубину обхода дерева здесь нельзя задать. Но та в свою очередь вызывает функцию menu_tree_page_data($menu_name, $max_depth = NULL, $only_active_trail = FALSE), где второй параметр — то, что нам нужно.
Пример вывода верхнего уровня главного меню:
|
|
$tree = menu_tree_output(menu_tree_page_data('main-menu', 1)); print render($tree); |
Осталось вставить это в шаблон, или оформить как свой блок и использовать вместо штатного блока меню.
Drupal 7
Данная запись опубликована в 25.03.2019 15:05 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Январь 24, 2020 г.
Drupal надстраивает собственные разрешения на вывод ошибок, потому если вам необходим вывод ошибок на этапе разработки, то важно знать как разрешить их ...
Читать
Январь 21, 2019 г.
Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить?
Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок).
Необходимость возникает из-за того, ...
Читать
Апрель 6, 2021 г.
У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...
Читать
Март 31, 2019 г.
Модуль Views - мощный инструмент в копилке друпалера. Конструктор позволяет создавать условия, перекрывающие большую часть потребностей в практических ...
Читать