Программный рендер меню в Drupal 9

Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню.

Рендер меню по известному id меню

Вы знаете идентификатор, вам нужен рендер:

Рендер с использованием нужного шаблона

Вы хотите подменить шаблон при рендеринге, тогда его имя нужно указать перед выполнением функции render().

Но сначала нужно создать какой то кастомный шаблон. Дефолтовым считается шаблон /core/modules/system/templates/menu.html.twig, его можно использовать как отправную точку для ваших модификаций. Допустим, вы создали на его базе файл с именем menu—custom.html.twig, тогда предыдущая версия кода изменится следующим образом:

Использование active trail

Чтобы меню подсветило навигацию до текущей страницы, необходимо правильно подготовить параметры на этапе инициализации дерева меню.

Данные об активной цепочке в меню предоставляются службой ‘menu.active_trail‘.

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

Проблема с сохранением asymmetric paragraphs в tmgmt

Октябрь 4, 2024 г.

Проблема описана вот тут, и там даже предлагается патч https://www.drupal.org/files/issues/2024-05-28/3134922-40.patch,который частично решает проблему, но в #43 siavash (Sia) более подробно рассказывает о том, как сохраняются данные, и становится ясно, ...

Читать

Программный вывод блока в Drupal 9

Август 31, 2021 г.

Рассмотрим пару кейсов, того как рендерить блок из вашего кода. Блок существует как Entity Вы создали произвольный блок через Manage->Structure->Block ...

Читать

Устанавливаем флажок FILE_STATUS_PERMANENT для файла в DRUPAL 9

Август 7, 2021 г.

Если файл загружен через поле, созданное в конструкторе полей какого либо entity Drupal, то соответствующий модуль, предоставляющий функционал загрузки файла, сам обеспечит установку необходимого статуса. Что если поле было создано программно, и требуется ...

Читать

Подготовка строки для использования в качестве имени html класса

Январь 18, 2022 г.

То, что в семерке выполняется функцией drupal_html_class(), в Drupal 8 реализовано в виде статического метода\Drupal\Component\Utility\Html::getClass($str). Данная функция также востребована в шаблонах (twig). Здесь вы можете использовать фильтр ...

Читать
 

Комментарии к «Программный рендер меню в Drupal 9»

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



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