Обзор модуля Views в Drupal

Если вы заинтересовались друпалом, то значит вы рано или поздно дойдете до модуля Views. Этот модуль позволяет выводить практические все что есть в друпале: пользователи, контент, комментарии, таксономию. Причем он позволяет выводить таблицами, блоками, слайдерами, календарями, списками, графиками и другими видами данных и оформлений. Этот модуль внесли в ядро друпала начиная с 8ой версии. Так давайте же осмотрим этот модуль пока издалека.

Первое на что стоит обратить внимание это размер модуля оба модуля Views, Views UI занимают 808 и 3.6 мегабайт это примерно как 4 тома романа "Война и Мир". Просто огромный модуль, но вам не нужно знать как он работает, чтобы использовать его. Во Views есть довольно большой интерфейс, с которым при желение можно разобраться без знания программирования.

В меню друпала Views находится в Структура - Представления (Views):

drupal 8 views

Как видите уже из коробки Views выводит главную страницу, новые комментарии, пользователей которые зашли недавно на сайт и многие другие списки.

Давайте зайдем Views для главной страницы, для этого нажмите кнопку Правка в строке вьюса Frontpage (Главная). Не пугайтесь обилию настроек, со временем мы разберем каждую из них.

 Ниже я буду приводить описание каждого из блоков и ссылку на соответствующую статью описывающий этот блок.

В первую очередь нужно обратить внимание на что выводить  Views:

drupal 8 views

В данном view мы выводим содержимое, то есть ноды нашего сайта. Здесь может быть и таксономия, комментарии, пользователи и так далее. Эту настройку можно задать при создание вьюса и потом ее уже не изменить, только пересоздать вью заново. Поэтому создавая вью вы должны знать, что вы собираетесь вывести.

Дальше мы можешь задать административный заголовок Отображать название, которое будет отображаться внутри вьюса и везде, где этот вью можно будет вывести. И ниже отображается заголовок, который уже будет отображаться непосредственно на сайте, странице или блоке.

друпал 8

Ниже идет блок формат и здесь уже начинается интересное. Views можно расширять другими модулями и тем самым расширять возможности выводить информацию. Например если вы поставите модуль Views Slideshow, то можно будет выводить слайдеры:

https://www.drupal.org/project/views_slideshow

Если добавить модуль Calendar,  то будет выводиться календарь:

https://www.drupal.org/project/calendar

Подобных модулей очень много, вы без труда сможете найти то что нужно пользуясь поиском google и вбивая Drupal views (название того что хотите вывести)

По умолчанию мы можем выводить блоками (Неформатированный список), HTML списком (теги <ul>, <li>), Сетка (таблица без заголовков), Таблица (с заголовками и возможностью сортировки).

В настройке Показать мы можем задать каким образом выводить данные во вьюсе полями или полностью выводом тизера или сущности целиком. Это довольно-таки удобно использовать тизеры. Допустим у нас есть стандартный вид отображения товара в тизере: картинка, название, цена и кнопка купить. Нам нужно отображать этот вид товара во многих блоках: категориях, похожие товары, рекомендованные товары, корзина. Если мы не хотим дублировать CSS код, мы можем просто стилизовать один раз вывод тизера и дальше этот тизер вставлять в другие вьюсы.

Поля

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

Критерии фильтрации

Нам не всегда нужно выводить все ноды, все комментарии, иногда нужно вывести только новости за неделю, только пользователей с ролью Администратор, только свежие комментарии. Для этого мы можем использовать фильтры.

Критерии сортировки

После того как мы отфильтровали нужные нам данные, неплохо бы еще их и отсортировать. Например, выводить новые новости сверху.

Настройки страницы

Здесь мы можем настроить путь на которой будет выводиться страница view и настроить доступ, чтобы например к этому вью имели доступ только авторизированные пользователи.

Шапка и Подвал

Позволяет выводить данные вверху или снизу вьюса. Причем мы можем не ограничиваться простым HTML, но и вставлять поля из вью или даже вставить другой вью, в наш вью.

Поведение при отсутствие результатов

Функционал этого блока такой же как и у Шапки, только здесь он срабатывает когда вью не получает на вывод никаких данных.

Постраничный навигатор

Пагинатор нужем нам когда списки очень большие и нам нужно их разбить на чати. Например у нас 100 новостей и было бы неплохо выводить их по 10 штук на странице.

Язык

Позволяет выбрать язык для вью. Обычно это используется на мультиязычных сайтах.

2125