Подскажите, как темизировать файл для всех дисплеев вьюхи.

Главные вкладки

Аватар пользователя VasyOK VasyOK 19 февраля 2022 в 12:40

Приветствую специалистов по темизации!

Есть представление myview имеющее несколько блоков.

В папке темы следующие файлы:

views-view.html.twig
views-view--block.html.twig
views-view--myview--block-1.html.twig
views-view--myview--block-2.html.twig
views-view--myview--block-3.html.twig

Вопрос: как сделать, чтобы представления из всех дисплеев одной вьюхи формировались из одного twig файла?

Сейчас если я заменяю

views-view--myview--block-1.html.twig
views-view--myview--block-2.html.twig
views-view--myview--block-3.html.twig

на
views-view--myview.html.twig

вывод формируется из
views-view--block.html.twig

Комментарии

Аватар пользователя VasyOK VasyOK 19 февраля 2022 в 14:35
 FILE NAME SUGGESTIONS:
   x views-view--myview--block-1.html.twig
   * views-view--myview.html.twig
   x views-view--myview--block-1.html.twig
   * views-view.html.twig

 BEGIN OUTPUT from 'themes/custom/mytheme/templates/views-view--myview--block-1.html.twig'

Но, как я написал выше переименование
views-view--myview--block-1.html.twig
в
views-view--myview.html.twig
ничего не дает.

Аватар пользователя webadmin webadmin 20 февраля 2022 в 11:24

если во вьюхах выводятся поля из ноды, то можно в отображаемых во вьюсах нодах сделать нужные режимы отображения и в шаблоне ноды прописать проверку этого режима отображения и соответствующего html для него, и во вьюхах выбрать эти режимы отображения контента.

Аватар пользователя chelwolf chelwolf 20 февраля 2022 в 20:34

Если вы оставили только views-view--myview.html.twig, почистили кеш и уверены, что шаблон назван правильно, а дисплеем вы выводите не таблицы (там другой обёрточный шаблон: views-view-table.html.twig) - должно переопределять.

Попробуйте, как вариант, переименовать views и шаблоны, при этом в имени не используйте тире, только нижнее подчёркивание. Возможно это сработает, если проблема как-то связана с кешем.

В ваших примерах все верно:
views-view.html.twig - для всех представлений на сайте переопределит стандартный шаблон обертки
views-view--myview.html.twig предопределит общую обёртку для всех представлений в "myview"
views-view--myview--block-1.html.twig переопределит общую обёртку для представления с именем block-1, которое создано во views с именем "myview"

Для таблиц:
views-view-table--myview.html.twig

Аватар пользователя charOFF charOFF 20 февраля 2022 в 23:16

views-view--block.html.twig имеет больший вес, чем views-view--myview.html.twig. Чтобы его переопределить придется использовать views-view--myview--block.html.twig
Чтобы не дублировать код можно в нем сделать include views-view--myview.html.twig