Ivan Abramenko 11/10/2019

В друпал 8 как и в прошлых версиях можно вывести дополнительные блоки в регионах. Обычно в темах оформления друпал есть регионы: шапка, левый и правый сайдбар, центральный и подвал сайта. Давайте зайдем на страницу Меню - Структура -  Блоки. В теме Bartik у нас следующие регионы:

Заголовок
Справка
Закреплено
Популярные
Содержимое
Первая боковая панель
Вторая боковая панель
Первый триптих
Триптих в середине
Последний триптих
Подвал первая колонка
Подвал вторая колонка
Подвал третья колонка
Подвал четвертая колонка
Подвал

Вы можете вывести блоки указанные ниже, в любой из этих регионов, например можно вывести блок кто сейчас на сайте в правый сайдбар:

Search block

Таким образом у нас получится трехколонночный макет:

block editing

 

Мы можем сделать и двухколоночный макет с правым сайдбаром (возможно в целях SEO), для этого нужно просто перенести все блоки из первого сайдбара во второй. Выбираем регион Вторая боковая панель (сайдбар):

two column layout

Тогда у нас будет такой вид:

second sidebar

Я думаю с блоками и регионами, все достаточно понятно, давайте посмотрим на Параметры видимости блока, он есть у каждого блока. Иногда нужно чтобы блок показывался только модератору, например блок для добавления материала, тогда мы заходим во вкладку роли и выбираем каким ролям отображать блок:

 

visibility options

  Также мы можем показывать блоки на отдельно выбранных страницах типов материалов. Давайте добавим блок Последние материалы.

content block

Добавляем вывод только на страницах статей, таким образом блок последних материалов не будет выведен ни на главной, ни на страницах тегов, ни на страницах других типов материалов, только на страницах тегов.

drupal block settings

Если нам нужно вывести блок на всех страницах кроме главной, то нужно использовать первую вкладку Параметров видимости блока. Давайте выведем блок Последние комментарии на всех страницах кроме главной:

block on the home

Мы используем <front>, чтобы вывести блок на всех страницах кроме главной, а если наоборот нужно блок вывести только на главной, то просто поставьте галочку На перечисленных страницах. Также мы можем использовать знак *, чтобы выводить на всех страницах, где вместо звездочки можно что-то подставить, например node/* - это страницы нод, taxonomy/term/* - страницы терминов таксономии, user/* - страницы пользователей. Если нужно записать несколько условий, то пишем условие на отдельной строке:

visibility conditions

Также можно совмещать условия из Страницы, Ролей и Типов содержимого, например можно показывать блок только на страницах статей и только модераторам.

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