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

Таблица views_view_filter

Таблица views_view_filter является частью системы представлений (Views) в Drupal и отвечает за хранение настроек фильтров, которые применяются к данным при построении представления. Каждый фильтр определяет условия, которым должны соответствовать данные, чтобы быть включенными в результат.

Поля

Поле Тип данных Описание
vid int Идентификатор версии представления. Внешний ключ к таблице views_view.
id varchar(255) Машинное имя фильтра. Уникальный идентификатор в рамках одного представления.
field varchar(64) Название поля или свойства, к которому применяется фильтр.
admin_label varchar(255) Человекочитаемое название фильтра, отображаемое в интерфейсе администрирования.
operator varchar(64) Оператор сравнения для условия фильтрации (например, =, <>, IN, LIKE).
value text Значение или набор значений для сравнения с полем в соответствии с оператором. Может храниться в сериализованном виде.
group int Идентификатор группы фильтров. Позволяет группировать условия фильтрации с помощью логических операторов AND и OR.
exposed tinyint Флаг, указывающий, доступен ли фильтр для пользователей в виде элемента формы (1 - да, 0 - нет).
is_grouped tinyint Флаг, указывающий, сгруппированы ли значения фильтра (1 - да, 0 - нет).
weight int Вес фильтра, определяющий порядок применения фильтров в рамках одной группы.

Как это работает

При создании или редактировании представления в Drupal администратор добавляет фильтры через пользовательский интерфейс. Каждый добавленный фильтр создает запись в таблице views_view_filter, которая связывается с представлением через поле vid.

Когда представление выполняется, система Views читает конфигурацию фильтров из этой таблицы и строит соответствующие условия для SQL-запроса. Фильтры применяются в порядке их веса (weight) внутри своих групп (group).

Если фильтр помечен как "exposed" (exposed = 1), он отображается пользователям в виде элемента формы (select, checkbox, textfield), позволяя им самостоятельно фильтровать результаты представления.

Значения фильтров (поле value) часто хранятся в сериализованном виде, особенно когда фильтр использует сложные условия или множественные значения.

Пример SQL-запроса

Получить все фильтры для конкретного представления можно следующим запросом:

SELECT vf.*, vv.name as view_name FROM views_view_filter vf JOIN views_view vv ON vf.vid = vv.vid WHERE vv.name = 'my_custom_view' ORDER BY vf.group, vf.weight;

Смотрите также

  • таблицу views_view,
    которая хранит основные настройки представлений
  • таблицу views_display,
    которая содержит настройки отображений представлений
  • таблицу views_argument,
    которая хранит конфигурацию контекстных фильтров
  • таблицу views_sort,
    которая содержит настройки сортировки для представлений