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

Рассмотрим пару кейсов, того как рендерить блок из вашего кода.

Блок существует как Entity

Вы создали произвольный блок через Manage->Structure->Block layout. В этом случае в друпал хранится сущность этого типа блока, вместе с определенными настройками. Соответственно рендерится он как обычный элемент entity:

Остаётся понять лишь, где же взять значение для $block_name.

Вернитесь на страницу управления блоками и нажмите «configure» напротив вашего блока. На примере блока с навигацией, думаю вам будет понятно куда смотреть:

Блок определен каким то модулем

Здесь уже потребуется работа с сервисом plugin.manager.block.

Здесь id блока можно подсмотреть в соответствующем модуле в каталоге src/Plugin/Block — где в коннотации вы найдете значение id.

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

Кеширование JSON ответа в Drupal

Июль 6, 2023 г.

У нас есть контроллер, который выдаёт json ответ. Добавим кеширование. Начнем с определения контроллера. Пусть сконфигурирован следующий mymodule.routing.yml: [crayon-6a3acc6aca534825275624/] Это значит, что у нас создан класс PublicApi в ...

Читать

Создаём программно url alias в Drupal 9

Август 28, 2021 г.

Сниппет кода, демонстрирующий как alias создаётся в Drupal 9. Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так: [crayon-6a3acc6aca730660458313/] В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...

Читать

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

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

Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню. Рендер меню по известному id меню Вы знаете идентификатор, вам нужен рендер: [crayon-6a3acc6aca8ba981143225/] Рендер ...

Читать

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

Август 7, 2021 г.

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

Читать
 

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

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



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