Блок меню 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 2, 2017 г.
Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами.
Первый вариант почти всегда выглядит неказисто, ...
Читать
Январь 10, 2020 г.
Обычно такой код требуется писать в файлах .install, для модификации структуры ваших полей при обновлении модуля, чтобы не проделывать эту операцию вручную. Также предварительно стоит подумать о переносе данных из удаляемого поля в какое то новое место. ...
Читать
Февраль 4, 2021 г.
Если нужно использовать db_select вместо db_query, но не ясно как правильно составить SQL условие с оператором LIKE, читайте далее.
Здесь вам пригодится хелпер функция db_like, которую нужно применить к аргументу сравнения.
Небольшой пример ...
Читать
Май 15, 2018 г.
Друпал не позволяет менять длину текстового поля после создания. Функция field_update_field также нам не поможет - будет сгенерирована соответствующая ошибка, что поле уже содержит данные и изменить его длину нельзя.
Это можно проделать вручную, зная ...
Читать