Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно.
Например добавим в препроцессинг страницы переменную с рендером блока 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 20, 2025 г.
При работе с сущностями в Drupal нередко возникает задача: из ссылочного поля (entity reference) нужно достать список ID связанных объектов.
Например, у нас есть нода с полем field_other_exclusions. Если вывести его содержимое через getValue(), ...
Читать
Март 17, 2025 г.
Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода.
Потребуются следующие зависимости:
[crayon-6a0406e1b0f1a627946876/]
Добавим ссылку в меню main. ...
Читать
Май 7, 2025 г.
Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...
Читать
Апрель 24, 2025 г.
Чтобы через админку почистить длинные словари, нужно много времени, даже если вы используете bulk операции. Потому будем чистить их через код.
Разберем пример кода:
[crayon-6a0406e1b1217246698335/]
Эти две команды удаляют все термины из словаря ...
Читать