Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
152 of 182 menu
Внимание! Репетиторство по Python! Осталось последнее место! Стоимость: 20$ за занятие 1.5 часа. Жми для подробностей!

Таблица 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,
    которая содержит настройки сортировки для представлений