Здравствуйте!
Подскажите как заставить все блоки в регионе использовать один и тот же шаблон.
В сети нашёл только этот хук:
но он у меня не работает
The website encountered an unexpected error. Please try again later.
Здравствуйте!
Подскажите как заставить все блоки в регионе использовать один и тот же шаблон.
В сети нашёл только этот хук:
но он у меня не работает
The website encountered an unexpected error. Please try again later.
А что нельзя добавить theme sugestion для всех блоков региона? Theme debug знаете как включить?
Комментарии
А что нельзя добавить theme sugestion для всех блоков региона? Theme debug знаете как включить?
Можно по подробнее как это сделать и как использовать?
Нет, но я погуглю)
Сработало!
$block = entity_load('block', $variables['elements']['#id']);
$region = $block->getRegion();
$suggestions[] = 'block__'.$region.'__block';
}
Я не то имел ввиду. Просто файл шаблона для блока в папку темы закинуть.
Я так и сделал, но проблема заключается в том что шаблон блоков у меня индивидуальный, в нём прописано множество css классов и при загрузке страницы основной контент сайта так же заворачивается в блок, что не есть хорошо.
Редактировать шаблон каждого блока очень муторно, к тому же зачем? если можно использовать вышеприведённый хук.
Индивидуальный шаблон нужен , в основном, для индивидуальной html-разметки (конкретно индивидуальной структуры html-тегов).
Если у Вас шаблоны блоков отличаются только css-классами, то скорее всего у Вас просто "css-классификация" не оптимальна или Вы не до конца понимаете возможности css-селекторов.
Тогда нужно просто перечитать какое-нибудь руководство по css.
Если всетаки классы блоков зависят от каких-то динамических параметров, т.е. изменяются в зависимости от какого-то контекста конкретной страницы и т.п. то тут лучшее решение- препроцесс-хук
https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Render%21...
Под Drupal 9 не работает(
Есть варианты как заставить данную конструкцию работать в Drupal 9?
Заранее благодврю!