Меню в виде SELECT в Drupal 7

Drupal обладает развитым набором инструментов с menu, т.к. меню — это одна из составляющих частей Drupal API. Хотя модуль Menu, входящий в состав ядра, можно отключить, но я пока не встречал проектов, в которых был бы отключен данный модуль. И уж совсем нельзя исключить библиотеку работы с меню (/includes/menu.inc).

Изучение API быстрее протекает на практике. Вот одна из таких практических задач — вывод меню (одного или нескольких) в виде одного выпадающего списка (html SELECT, отражающего иерархию пунктов меню.

Задача разбивается на два этапа — получение списка пунктов меню и формирование html кода элемента SELECT.

Получение списка пунктов меню в Drupal

Если нужны все меню сайта:

Вы получите массив пунктов всех меню в следующем виде:

Т.е. ключами будет пара значений — имя меню:ID menu, так называемый mlid. Название пункта меню будет сформировано таким образом, что мы увидим псевдоиерархическую структуру.

Получить пункты только определенных меню сайта.

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

Формат данных очевиден — массив меню — список меню сайта, где ключами является системное название меню, а значениями — человекопонятное название меню.

Вот как получить пункты только главного меню сайта:

html код элемента SELECT

Можно воспользоваться Drupal Form API, или собрать select своими руками. Т.к. контекст задачи неизвестен, то Form API привлекать в качестве примера не очень удобно.

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

Модуль Metatag Drupal 7

Январь 29, 2016 г.

Если вы занимаетесь оптимизацией сайтов, то работаете с настройкой мета-описаний ключевых страниц. В Drupal вам с этой работой поможет модуль - metatag. ...

Читать

Конфигурация для миграции статей (node:blog) из CSV файла

Март 2, 2024 г.

Это пример миграции данных из CSV файла в Drupal. Данная миграция является основной в том смысле, что она ссылается на дочернюю миграцию, в ходе которой будут созданы параграфы (entity_reference_revisions:paragraph) с HTML контентом. А далее мы ...

Читать

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

Сентябрь 17, 2010 г.

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

Читать

Создание связи во Views, используя поле entity_reference

Октябрь 24, 2017 г.

Модуль View, Drupal 7. Задача: в контексте публикации (находясь на странице публикации) вывести с помощью модуля views публикации, связанные с текущей ...

Читать
 

Комментарии к «Меню в виде SELECT в Drupal 7»

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



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