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

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

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

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

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

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

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

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

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

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

Пример кода переключения между базами в Drupal 9

Август 22, 2021 г.

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

Читать

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

Июль 6, 2023 г.

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

Читать

HTML email в Drupal 9

Май 24, 2021 г.

Для отправки писем, Drupal 9 использует реализации интерфейса MailInterface (core/lib/Drupal/Core/Mail/MailInterface.php). И в коробке сразу же имеется ...

Читать

Рендер ссылки в twig

Октябрь 3, 2021 г.

В шаблонах twig вы можете использовать функцию link, для рендера ссылки. Параметры вызова следующие - link($text, $uri, $attributes = {}), первые два - обязательные. [crayon-6a7e1dca0ad10394636817/] Результатом будет следующий HTML код: ...

Читать
 

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

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



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