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

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

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

Задача

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

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

Модуль

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

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

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

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

Дополняем результаты views

Февраль 14, 2024 г.

Пример того, как можно дополнить результаты views в Drupal 9/10. Задача - вывести для статьи блок со связанными публикациями. В начале нужно было просто выводить последние статьи того же типа, а потом у заказчика возникло желание переопределять выдачу, ...

Читать

Как добавить поле "количество" для кнопки add to cart в Drupal Commerce

Июль 13, 2023 г.

Кнопка выводится как элемент product.variations, а вот настройки полей, которые выводятся в этой сущности довольно глубоко зарыты. [crayon-6aea0d0bb0ce9563842516/] Поле "кол-во товара в корзине" не является частью сущности product variation, ...

Читать

Подключаем fancybox в Drupal 6

Сентябрь 1, 2013 г.

Fancybox - известный плагин jQuery для создания эффекта "просмотра в окошке". Давайте подключим его в 6-ю версию Drupal. Ряд "деятелей" предлагают поставить для этой цели, кроме самой библиотеки, ещё два плагина - jquery_update и fancybox. Определенный ...

Читать

Drupal 7, проверить авторизован ли пользователь

Ноябрь 13, 2017 г.

Если в коде необходимо проверить авторизовался ли текущий пользователь, то можно использовать как минимум два подхода. Глобальная переменная user GLOBALS['user'] в Drupal хранит объект текущего пользователя, расширенного информацией о ролях пользователя. ...

Читать
 

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

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



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