Таблица views_sort
Таблица views_sort является частью системы Views в Drupal и отвечает за хранение конфигурации критериев сортировки для представлений. Каждая запись в этой таблице определяет, по какому полю, в каком порядке (возрастающем или убывающем) и с какими дополнительными настройками происходит сортировка результатов представления.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
id |
serial |
Уникальный числовой идентификатор (первичный ключ) критерия сортировки. |
vid |
int |
Идентификатор версии представления. Внешний ключ для таблицы views_view.
|
table |
varchar(64) |
Имя таблицы базы данных, к которой относится поле сортировки (например, node_field_data).
|
field |
varchar(64) |
Имя поля или идентификатор плагина сортировки, по которому происходит сортировка (например, nid или created).
|
options |
text |
Сериализованный массив (PHP serialize) дополнительных опций для настройки критерия сортировки. |
plugin |
varchar(64) |
Тип плагина, используемого для сортировки (например, standard, date, numeric).
|
weight |
int |
Вес критерия сортировки. Определяет порядок применения нескольких сортировок (от меньшего к большему). |
exposed |
tinyint |
Флаг, указывающий, exposed ли критерий сортировки для пользователей (1) или нет (0).
|
expose |
text |
Сериализованный массив (PHP serialize) настроек для exposed сортировки, таких как label, identifier и др. |
Как это работает
При создании или редактировании представления в административном интерфейсе Drupal (admin/structure/views) пользователь добавляет критерии сортировки. Конфигурация каждого добавленного критерия сохраняется в таблице views_sort. Поле vid связывает критерий с конкретной версией представления.
Когда представление выполняется, модуль Views строит SQL-запрос. Для каждого активного критерия сортировки из таблицы views_sort в запрос добавляется соответствующее выражение ORDER BY. Порядок добавления выражений определяется значением в поле weight.
Если для критерия установлен флаг exposed в значение 1, то пользователям будет показан элемент управления (например, select или радиокнопки) в блоке exposed filters/сортировок представления. Это позволяет посетителям сайта самостоятельно менять порядок сортировки результатов.
Поле plugin определяет handler, который будет использоваться для обработки сортировки. Разные плагины могут по-разному взаимодействовать с данными (например, стандартная сортировка, сортировка по дате, числовая сортировка).
Пример SQL-запроса
Получить все критерии сортировки для определенного представления можно с помощью запроса:
SELECT vs.*, vv.name as view_name
FROM views_sort vs
INNER JOIN views_view vv ON vs.vid = vv.vid
WHERE vv.name = 'my_custom_view'
ORDER BY vs.weight ASC;
Смотрите также
-
таблицу
views_view,
которая хранит основные данные о представлениях -
таблицу
views_filter,
которая хранит информацию о критериях фильтрации -
таблицу
views_field,
которая хранит информацию о полях для отображения -
таблицу
views_display,
которая хранит информацию о дисплеях представлений