Таблица views_display
Таблица views_display является ключевой компонентой модуля Views в Drupal. Она хранит конфигурации всех отображений (дисплеев), принадлежащих представлениям. Каждое представление может иметь несколько дисплеев с различными настройками вывода.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
vid |
int |
Идентификатор представления, к которому принадлежит дисплей. Внешний ключ к таблице views_view.
|
id |
varchar(64) |
Машинное имя дисплея (например, page_1, block_1). Должно быть уникальным в пределах одного представления.
|
display_title |
varchar(64) |
Человекочитаемое название дисплея, отображаемое в интерфейсе администрирования. |
display_plugin |
varchar(64) |
Тип плагина дисплея (например, page, block, feed, embed).
|
position |
int |
Порядковый номер позиции дисплея в списке дисплеев представления. Определяет порядок обработки. |
display_options |
longblob |
Сериализованный массив PHP, содержащий все настройки дисплея: стиль отображения, поля, сортировки, фильтры, аргументы, доступ и другие параметры. |
override |
tinyint |
Флаг, указывающий переопределяет ли данный дисплей настройки дисплея по умолчанию (1) или наследует их (0).
|
Как это работает
Модуль Views позволяет создавать сложные запросы к базе данных через пользовательский интерфейс. Каждое представление состоит из одного или нескольких дисплеев, которые определяют способ вывода результатов запроса. Таблица views_display хранит конфигурацию каждого такого дисплея.
При создании представления автоматически создается дисплей по умолчанию (обычно с id = default), который служит базовой конфигурацией. Дополнительные дисплеи могут наследовать настройки от дисплея по умолчанию или полностью их переопределять с помощью флага override.
Основные типы дисплеев включают:
page- вывод в виде отдельной страницы с собственным URLblock- вывод в виде блока, который можно разместить в регионах темыfeed- вывод в формате RSS или других фидовembed- вывод для встраивания в другие контексты
Поле display_options содержит сложную структуру данных, включающую настройки полей, фильтров, сортировок, стилей, заголовков, доступов и многих других параметров, специфичных для каждого дисплея.
Пример SQL-запроса
Получить все дисплеи типа "страница" для определенного представления:
SELECT vd.id, vd.display_title, vd.position
FROM views_display vd
INNER JOIN views_view vv ON vd.vid = vv.vid
WHERE vv.name = 'my_custom_view'
AND vd.display_plugin = 'page'
ORDER BY vd.position;
Смотрите также
-
таблицу
views_view,
которая хранит основные настройки представлений -
таблицу
cache_dynamic_page_cache,
которая кэширует вывод страниц, включая страницы представлений -
таблицу
cache_render,
которая хранит кэшированные данные рендеринга -
таблицу
config,
которая хранит экспортированные конфигурации представлений