Таблица views_view_field
Таблица views_view_field является ключевым компонентом системы представлений (Views) в Drupal. Она отвечает за хранение конфигурации того, как конкретные поля сущностей (ноды, пользователи, таксономия и др.) должны отображаться в различных представлениях.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
id |
serial |
Уникальный идентификатор записи настройки поля. Первичный ключ таблицы. |
view_name |
varchar(128) |
Название представления (view), к которому относится это поле. Внешний ключ к таблице views_view.
|
view_display |
varchar(128) |
Идентификатор дисплея (например, 'page_1', 'block_1') в рамках представления, где используется это поле. |
field_name |
varchar(128) |
Машинное имя поля, которое выводится (например, 'title', 'body', 'field_image'). |
field_plugin |
varchar(128) |
Идентификатор плагина поля, используемого для обработки и отображения (например, 'standard', 'number_integer'). |
options |
longblob |
Сериализованный массив настроек поля. Содержит конфигурацию форматера, ссылки, обрезку текста, классы CSS и другие параметры отображения. |
position |
int |
Порядковый номер поля в пределах дисплея. Определяет последовательность вывода полей. |
Как это работает
Когда администратор создает или редактирует представление через пользовательский интерфейс Views UI и добавляет поле в дисплей, для этого поля создается запись в таблице views_view_field. Эта запись хранит все настройки, которые были заданы для поля: его тип, способ форматирования, видимость, настройки ссылки и т.д.
При построении представления система Views загружает все поля, связанные с конкретным дисплеем, отсортированные по полю position. Для каждой записи результат (рендер) поля добавляется в итоговый вывод представления.
Поле options является наиболее важным, так как содержит детальную конфигурацию. Данные в этом поле хранятся в виде сериализованного PHP-массива, который десериализуется при построении запроса.
Пример SQL-запроса
Получить список всех полей для определенного представления и дисплея можно следующим запросом:
SELECT field_name, field_plugin, position
FROM views_view_field
WHERE view_name = 'my_custom_view'
AND view_display = 'page_1'
ORDER BY position ASC;
Смотрите также
-
таблицу
views_view,
которая хранит основные настройки представлений -
таблицу
views_display,
которая содержит настройки дисплеев представлений -
таблицу
views_filter,
которая хранит конфигурацию фильтров в представлениях -
таблицу
views_sort,
которая содержит настройки сортировки для представлений