Несколько Views в одном блоке / Drupal 8

Устанавливаем модуль Snippet manager:

composer require drupal/snippet_manager

Включаем модуль Snippet manager:

drush en snippet_manager -y

Переходим в Структура → Сниппеты и добавляем новый:

/admin/structure/snippet/add
Несколько Views в одном блоке / Drupal 8 Разработка, Программирование, IT, Drupal, Backend, Программист, Web, Web-программирование, Менеджер, View, Views, Reference, Блокировка, Длиннопост

Переходим в вкладу Шаблоны и Добавляем переменную.

Несколько Views в одном блоке / Drupal 8 Разработка, Программирование, IT, Drupal, Backend, Программист, Web, Web-программирование, Менеджер, View, Views, Reference, Блокировка, Длиннопост

Из списка выбираем нужное представление.

Несколько Views в одном блоке / Drupal 8 Разработка, Программирование, IT, Drupal, Backend, Программист, Web, Web-программирование, Менеджер, View, Views, Reference, Блокировка, Длиннопост

И вот у нас есть сниппет, в котором будет выводиться блок представления со статьями.

Несколько Views в одном блоке / Drupal 8 Разработка, Программирование, IT, Drupal, Backend, Программист, Web, Web-программирование, Менеджер, View, Views, Reference, Блокировка, Длиннопост

Аналогичным образом добавляем туда еще представления, и не только.

Несколько Views в одном блоке / Drupal 8 Разработка, Программирование, IT, Drupal, Backend, Программист, Web, Web-программирование, Менеджер, View, Views, Reference, Блокировка, Длиннопост

Переходим на страницу Схема блоков:

/admin/structure/block

И размещаем наш блок сниппета.

Несколько Views в одном блоке / Drupal 8 Разработка, Программирование, IT, Drupal, Backend, Программист, Web, Web-программирование, Менеджер, View, Views, Reference, Блокировка, Длиннопост

Смотрим результат.

Несколько Views в одном блоке / Drupal 8 Разработка, Программирование, IT, Drupal, Backend, Программист, Web, Web-программирование, Менеджер, View, Views, Reference, Блокировка, Длиннопост

Это самый простой и удобный способ выводить в одном месте не только представления, но и блоки, меню, формы и так далее.


Страница модуля: https://www.drupal.org/project/snippet_manager

Автор: https://www.drupal.org/u/chi

Почему не стоит создавать новый регион и размещать туда 2 блока с Views?


Такое будет очень неудобно поддерживать. Если потребуется переместить представления чуть выше или ниже того места, где они находятся, то придется двигать не блок в схеме блоков, а регион в настройках темы.


Да и выделять отдельный регион для одного блока кажется не самым лучшим решением.

Почему не стоит создавать отдельный тип блока и выводить представления через модуль Views Reference?


Блок, размещенный таким способом будет являться контент блоком, а это значит, что если создать его у себя на локалке/техническом сервере, его не получится перенести без БД, т.к. такой блок не попадет в конфиги.

Почему не стоит создавать отдельный тип блока и выводить представления через модуль Twig Tweak?


Аналогично пункту выше — такой блок не перенести без БД.

Исключение: если делать блок через Block Plugin.

Также твиг можно использовать в блоках Snippet Manager, которые в конфиги попадают.