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

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

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

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

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

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

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

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

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

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

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

Theme image в Drupal 9

Август 3, 2021 г.

Смотрим как выполнить рендеринг файла-картинки в Drupal 9 программно. Есть FID, и требуется рендерить этот файл программно в шаблоне <IMG>. Для этого нам понадобится воспользоваться сервисом ядра - renderer. [crayon-6ad7ffd882c1b033564734/] ...

Читать

Рендер ссылки в Drupal 9

Август 5, 2021 г.

В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого "наследника" устаревшей функции нет. Чтобы получить примерно тот же функционал придется ...

Читать

Conditional Form Fields в Drupal

Сентябрь 27, 2021 г.

Логика полей или условные поля - это удобная фича в Form API друпал. Она позволяет формализовать кучу мелкой логики на фронт-енд, связанной с взаимодействием пользователя с вашей формой. Здесь я приведу пару примеров использования, а углубиться ...

Читать

Установим контекстные фильтры в drupal views программно

Август 30, 2021 г.

Пример кода как рендерить блок views с программной установкой contextual filters. Контекстные фильтры устанавливаются методом ViewExecutable::setArguments(array $ARGS). В примере я передаю пару аргументов в качестве значений контекстных фильтров. ...

Читать
 

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

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



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