Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно.
Например добавим в препроцессинг страницы переменную с рендером блока branding. Этот блок предоставляется модулем system.
|
|
/** * Implements theme_preprocess_page(). */ function MYTHEME_preprocess_page(&$vars): void { $block_manager = \Drupal::service('plugin.manager.block'); $block = $block_manager->createInstance('system_branding_block', []); $block_render = $block->build(); $vars['cmb_site_branding'] = \Drupal::service('renderer')->render($block_render); } |
Мы используем сервис plugin.manager.block для доступа к управлению блоками. А сервис renderer позволяет нам произвести рендер (это можно выполнить и в шаблоне).
Чтобы узнать какие блоки есть в наличии, можно запросить список их определений:
|
|
$definitions = $block_manager->getDefinitions(); print_r($definitions); |
Drupal 10/11
Данная запись опубликована в 13.03.2025 23:45 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 17, 2025 г.
Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода.
Потребуются следующие зависимости:
[crayon-6a8240ba79959388241075/]
Добавим ссылку в меню main. ...
Читать
Февраль 28, 2025 г.
Задача - добавить rutube как oembed провайдера в медиа библиотеку, чтобы можно было создать медиа тип Rutube, где будет поле для ввода ссылки. Медиа поля ...
Читать
Сентябрь 15, 2025 г.
Иногда возникает задача: в Twig-шаблоне параграфа (paragraph.html.twig) нужно отобразить заголовок материала (ноды), к которому этот параграф прикреплён.
Нам не нужно передавать что то дополнительно в шаблон, эти данные могут быть получены из самой ...
Читать
Март 4, 2025 г.
Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. ...
Читать