Меню в виде 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 привлекать в качестве примера не очень удобно.

Написать комментарий

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

Программно меняем url alias в Drupal 7

Март 9, 2017 г.

Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в Drupal, нужно определить три параметра - системный адрес объекта, новый псевдоним и код языка. К примеру, для объекта node код может быть следующим: [crayon-62c1589ec76bf798120355/] ...

Читать

Многоязычность в Drupal 7

Март 31, 2015 г.

Конструирование многоязычного сайта добавляет множество деталей, которые нужно учитывать в процессе работы. Это и верстка шаблона, картинки которого могут ...

Читать

 

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

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



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