Всем привет
Переписываем сайт на Drupal, перевоя его с 7 на 8 версию и twig
На старой версии использовался php вставки, сейчас twig
Не могу найти альтернативу испоьзования block_load() функции для 8 версии и twig
Подскажите, есть поднобное в 8 версии и как ей пользоваться?
Комментарии
Специально для Вас делали, чтоб не "использовался php вставки".
Никогда не понимал, зачем люди выводят блоки программно в шаблоне
- php не нужны в D8
- по блоку см. https://www.drupal.org/docs/8/modules/twig-tweak/rendering-blocks-with-t...
- https://www.drupal.org/docs/8/theming/twig изучить, старый код адаптировать
Базовый способ - https://www.drupal.org/node/2964457 . + Пара удобностей
https://www.drupal.org/project/twig_tweak:
<?php
{# No need to configure this block on "admin/structure/block" page. #}
<dt>Block:</dt>
<dd>{{ drupal_block('system_branding_block', {label: 'Branding', use_site_name: false}) }}</dd>
{
# Bypass block.html.twig theming. #}<dt>Block (without wrapper):</dt>
<dd>{{ drupal_block('system_branding_block', wrapper=false) }}</dd>
?>
Изначально было в коде такое:
<?php
$block = block_load('cobranded', 'logo');
$renderable_array = _block_get_renderable_array(_block_render_blocks(array($block)));
$logo_img = $renderable_array['cobranded_logo']['image']['#markup'];
?>
Как раз такую чать и нужно перевести на twig