Views в Drupal: что важно понять сразу
Views собирает списки материалов и пользователей из данных Drupal — без отдельного запроса к базе. Разберём, как устроены представления, какие настройки влияют на результат и что проверить, прежде чем публиковать страницу.

В Drupal 10 и 11 с помощью Views можно вывести список публикаций, пользователей или терминов так, чтобы редактор менял фильтры и сортировку через интерфейс, а не через код. Но представление — не просто «список с настройками»: его результат зависит от источника данных, типа отображения, полей, фильтров и доступа. Если перепутать эти уровни, на странице легко получить пустой список, лишние поля или материалы, которые не должны быть видны.
Сначала проверьте, что Views доступен
Речь о Views из ядра Drupal, а не о стороннем модуле. В стандартной установке Drupal 10 и 11 модуль обычно доступен и может быть уже включён; если пункта «Структура → Представления» нет, проверьте список модулей и права вашей учётной записи. Для первых шагов достаточно сайта, где есть несколько опубликованных материалов и у вас есть право управлять представлениями. Административные меню могут отличаться из-за темы и настроек сайта.
В интерфейсе создайте новое представление и выберите, что оно будет показывать: например, содержимое (материалы) или пользователей. Включите создание страницы, задайте понятный заголовок и путь, например /news. Не включайте сразу все дополнительные параметры: сначала убедитесь, что получается простой список.
Из чего складывается представление
Представление (view) выбирает данные одного основного типа и превращает их в результат. Для списка материалов источником будут материалы, для списка пользователей — учётные записи. Дальше на результат влияют несколько независимых настроек:
- Формат определяет, как показать результат: например, таблицей или списком. Это не то же самое, что внешний вид отдельной карточки.
- Поля выбирают, какие значения вывести: заголовок, дату, автора и другие доступные данные. Если выбран формат «Поля», именно они задают содержимое строк.
- Фильтры ограничивают набор данных. Например, оставляют только опубликованные материалы или содержимое определённого типа.
- Сортировка задаёт порядок результата: например, по дате создания.
- Отображение (display) — отдельный вариант использования одного представления: страница, блок и другие варианты, доступные в конфигурации.
Изменения, внесённые в настройки по умолчанию, могут повлиять сразу на несколько отображений. Настройки конкретной страницы или блока способны переопределить общие. Поэтому после правки проверяйте именно то отображение, которое использует нужная страница, а не только предпросмотр настроек по умолчанию.
Views отвечает не только на вопрос «что показать?». Важно также, для кого виден результат, где он появится и какие данные Drupal считает подходящими.
Первые шаги: от списка к странице
Последовательность ниже подходит для простого списка опубликованных материалов в Drupal 10 и 11. Названия пунктов интерфейса могут немного различаться в зависимости от языка сайта и административной темы.
- Создайте представление содержимого. На странице управления представлениями выберите создание нового представления и укажите содержимое как тип данных. Если в сайте есть материалы для проверки, они появятся в предпросмотре или на созданной странице.
- Добавьте страницу. Включите создание страницы, задайте заголовок и уникальный путь, например /news. Сохраните конфигурацию. Проверка: откройте этот путь на сайте и убедитесь, что Drupal показывает страницу, а не ошибку «не найдено».
- Выберите формат и поля. Для простого списка можно начать с формата «Неоформленный список» и полей «Заголовок» и «Дата создания». Проверка: каждая строка содержит ожидаемые значения, а не только пустые элементы.
- Добавьте фильтр публикации. В фильтрах выберите статус публикации и оставьте опубликованные материалы. Проверка: неопубликованная тестовая запись не видна анонимному посетителю, а опубликованные записи остаются в списке.
- Настройте сортировку и сохраните. Добавьте сортировку по дате создания, если свежие материалы должны идти первыми. Проверка: после сохранения порядок на странице соответствует датам. Если результат не обновился, очистите кеш Drupal и загрузите страницу заново.
Фильтры, которые читатель может менять
Обычный фильтр незаметно ограничивает результат: посетитель не выбирает его значение. Раскрытый фильтр (exposed filter) выводит условие в форме на странице, чтобы человек мог сам выбрать, например, тип содержимого или автора. Это полезно для каталога и архива, но не каждый фильтр стоит раскрывать: форма с десятком условий затрудняет поиск и может не соответствовать задаче страницы.
После добавления раскрытого фильтра проверьте его в роли обычного посетителя. Форма должна появиться на нужном отображении, выбранное значение — менять результат, а сброс формы — возвращать полный список в рамках остальных ограничений. Если фильтр работает в предпросмотре, но не виден на странице, проверьте, что вы настраивали именно её отображение.
Что чаще всего идёт не так
- Страница есть, результатов нет. Проверьте, есть ли опубликованные материалы нужного типа и не противоречат ли друг другу фильтры. Временно уберите дополнительные условия и добавляйте их обратно по одному.
- Виден не тот набор материалов. Проверьте фильтр статуса публикации и настройки доступа к представлению. Предпросмотр администратора не всегда показывает то же, что увидит анонимный посетитель.
- Форма фильтра не появилась. Убедитесь, что фильтр раскрыт для нужного отображения и сохранён. Фильтр в настройках может ограничивать результат, не показывая посетителю элементы управления.
- Изменения не видны после сохранения. Убедитесь, что редактировали правильное отображение. Затем проверьте кеш: сохранённый результат может обновиться не сразу.
- В настройках нет нужного поля. Доступные поля зависят от выбранного источника данных и структуры сайта. Проверьте тип содержимого и его поля; не каждое значение доступно для вывода тем способом, который вы выбрали.
Термин: контекстный фильтр
Контекстный фильтр ограничивает список значением, которое Drupal получает из контекста — например, из адреса страницы или текущей сущности. Он отличается от раскрытого фильтра: посетитель обычно не выбирает значение в форме. Такие фильтры полезны для связанных списков, но ошибочная настройка может убрать все результаты или показать данные не для того контекста. Для первого представления оставьте их на потом.
Что проверить перед публикацией
Предпросмотр помогает быстро увидеть результат, но не заменяет проверку страницы в реальном режиме. В частности, у администратора могут быть права на просмотр материалов, скрытых от остальных пользователей.
- Откройте страницу как анонимный посетитель и как пользователь с обычной учётной записью.
- Проверьте, что фильтр публикации исключает неопубликованные материалы.
- Посмотрите на страницу с мобильного устройства: таблица и длинные значения могут плохо помещаться.
- Проверьте, что список не раскрывает персональные данные, которые не предназначены для посетителей.
- Если страница должна показывать большое число записей, настройте постраничный вывод и проверьте производительность на данных, близких к реальным.
Views не отменяет настройки доступа Drupal и не гарантирует, что любой выбранный источник будет быстро работать на больших объёмах данных. Для тяжёлого списка проверяйте запрос и время ответа на реальном окружении; конкретный способ профилирования зависит от конфигурации сайта и установленных модулей.
Что делать дальше
Начните с одного представления страницы и добейтесь предсказуемого результата для анонимного пользователя. Затем добавьте раскрытый фильтр или отдельный блок и проверьте, какие настройки общие, а какие относятся только к этому отображению. Если список большой, следующий шаг — измерить время ответа и проверить пагинацию на данных вашего сайта. Кеширование и настройка доступа заслуживают отдельной проверки: не включайте их «на всякий случай», пока не понимаете, какой результат должен увидеть каждый тип пользователя.
Проверка рекламы на риски: Что в макете вызовет вопросы ФАС: превосходные степени, сравнения, обещания результата, маркировка.
Спросить за 40 ₽Источники: Drupal User Guide: Creating a Content List, Drupal.org: Views project
Частые вопросы
Views входит в Drupal или его нужно устанавливать отдельно?
Можно ли показать неопубликованные материалы?
Чем раскрытый фильтр отличается от контекстного?
Почему после изменения настроек страница не обновилась?
Подойдут ли эти шаги для Drupal 9 или более старой версии?
Нужно ли уметь писать SQL, чтобы пользоваться Views?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.