Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно.
Например добавим в препроцессинг страницы переменную с рендером блока 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Апрель 3, 2025 г.
Облачные файловые хранилища Яндекса можно подключить и использовать в вашем проекте на drupal через модуль s3fs. А именно, хранить там т.н. юзерфайлы, ...
Читать
Апрель 6, 2025 г.
Drupal config API позволяет не только прочитать сами настройки, но и файлы их определений. В общем то это очевидно, покажу как это делается.
Допустим ...
Читать
Апрель 9, 2025 г.
Неприятная особенность CKEditor - добавляет в пустые контейнера (в <div>,<p> и т.п.) html код неразрывного пробела.
Покажу как можно от этого избавиться через код в кастомном плагине для CKEditor 5 в экосистеме Drupal 8+.
Нам понадобится ...
Читать
Март 11, 2025 г.
В Drupal 10/11 поддержка Oembed провайдеров в ядре (модуль media) позволяет легко и непринуждённо читать данные о медиа прямо из провайдера.
Ранее я рассказывал как зарегистрировать oembed для rutube, чтобы иметь возможность оперировать видео контентом ...
Читать