Вывод нужного уровня подменю в Drupal

Система меню в друпале сделана правильно и в большинстве случаев не требует установки каких то дополнительных модулей, чтобы получить тот результат, который требуется. И в данной статье мы не будем как то дополнять саму систему меню drupal-а.

В тоже время штатные блоки (blocks) предоставляемые модулем меню не сильно радуют гибкостью настроек. Да и нет фактически никаких настроек.

Задача

Не редко возникает следующая задача — вывести не всё меню, а меню соответствующее подразделу сайта. Подразумевается, что где то выводится содержимое корня меню (допустим полоска главного меню, построенная на основе primary-menu), т.е. какие то основные разделы сайта. А уже в самих разделах нужно показать блок меню с подразделами, исключая корень (первый уровень меню).

Нужно это обычно для того, чтобы не дублировать главное меню в блоке с подменю. Также я сталкивался с решениями в дизайне, когда отдельно выводят первые два уровня меню (корень и подуровень) и нужно как бы отсечь два уровня меню от корня для вывода их в разделах сайта.

Модуль

Код, решающий эту задачу, состоит из одной короткой функции, и ещё одна функция объявляет блок (block) для движка drupal.

Суть работы сводится к тому, что мы получаем данные всего дерева меню, а затем убираем нужное число уровней (число итераций, устанавливаемое в цикле) от корня меню.

Если модуль вам может оказаться полезным — качайте архив.

Мало букафф? Читайте есчо !

Изменить http код ответа для кастомной страницы

Октябрь 30, 2023 г.

Когда вы создаёте свою страницу, используя контроллер, то возможности тут же выбрать какой код ответа она возвращает нет. Контроллер занимается только формированием содержания страницы. Таким образом, страница возвращается с кодом 200. Что делать, ...

Читать

Ставим метрику на сайт с CMS Drupal

Май 16, 2023 г.

Вы получили код для вставки метрики, осталось дело за малым - разместить его на сайте. Сайт управляется Drupal 8/9/10. Я покажу как это сделать через изменение темы сайта. Первая опция - это вставить непосредственно в один из основных шаблонов ...

Читать

Еще один пример работы с EntityFieldQuery

Декабрь 23, 2020 г.

Время от времени продолжаю кодить под drupal 7, публикую еще один пример для работы EntityFieldQuery, на этот раз с фильтром по полю типа term reference. Основная логика точно такая же как и при работе с data полями (где у нас хранятся тексты или ...

Читать

Twig-функция qr_code() в Drupal: простой плагин с использованием Endroid QR Code

Октябрь 23, 2025 г.

Иногда в шаблоне Drupal удобно вывести QR-код прямо по месту — без внешних файлов, без рендеринга через отдельный контроллер и без подключения сторонних ...

Читать
 

Комментарии к «Вывод нужного уровня подменю в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: