Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно.
Например добавим в препроцессинг страницы переменную с рендером блока 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 14, 2025 г.
В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах.
...
Читать
Февраль 28, 2025 г.
Задача - добавить rutube как oembed провайдера в медиа библиотеку, чтобы можно было создать медиа тип Rutube, где будет поле для ввода ссылки. Медиа поля ...
Читать
Июль 19, 2025 г.
При работе с таксономией в Drupal нередко возникает потребность отображать термины по-разному в зависимости от контекста. Например, один и тот же термин в режиме teaser должен выводиться компактно, а в режиме full — с подробным описанием.
Если вы используете ...
Читать
Март 4, 2025 г.
Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. ...
Читать