Блок меню 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 27, 2020 г.
Если вам программно нужно изменить настройки поля в Drupal, то на помощь приходит Field CRUD API. Это набор функций из файла modules/field/field.crud.inc. ...
Читать
Ноябрь 8, 2016 г.
Можно использовать анализ адреса хранимый Drupal в $_GET['q'] и/или анализ частей адреса, получаемых функцией arg(N).
Оба варианта по сути делают одно и тоже - анализ внутреннего адреса, который для публикации имеет вид: node/%NID%.
Я использую функцию ...
Читать
Март 20, 2019 г.
При возникновении ошибок, во время проверки формы друпал выполняет две вещи, которые отражаются на фронт-энд - добавляет сообщение об ошибке в стек сообщений и маркирует классом error поле, содержащее ошибку.
Если форма находится далеко от места вывода ...
Читать
Апрель 13, 2021 г.
Рассмотрим технику того, как выполнить node_save во время hook_node_insert.
Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции - не получится. Т.е. следующий код работать не ...
Читать