Таблица webform_options
Таблица webform_options является частью модуля Webform в Drupal и служит централизованным хранилищем для наборов опций, которые могут быть многократно использованы в различных элементах форм. Это позволяет администраторам управлять списками вариантов (например, списками стран, категорий, статусов) в одном месте и применять их к любым селектам, радио-кнопкам или чекбоксам на вебформах.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
id |
varchar(255) |
Уникальный машинный идентификатор набора опций. Используется для ссылки на этот набор из элементов вебформы. |
uuid |
varchar(128) |
Уникальный универсальный идентификатор (UUID) для набора опций. Обеспечивает глобальную уникальность записи. |
status |
tinyint |
Статус набора опций: 1 - включен, 0 - отключен. Отключенные наборы нельзя выбрать при настройке элемента формы.
|
langcode |
varchar(12) |
Языковой код, к которому привязан этот набор опций. Позволяет создавать разные наборы для разных языков сайта. |
options |
longtext |
Сериализованный массив, непосредственно содержащий пары "ключ => значение" для всех вариантов выбора в этом наборе. Ключ (key) сохраняется в базе данных, значение (value) отображается пользователю. |
category |
varchar(255) |
Категория, к которой относится набор опций. Используется для группировки наборов в административном интерфейсе (например, "География", "Демография"). |
Как это работает
Администратор сайта создает новый набор опций через административный интерфейс Drupal (/admin/structure/webform/config/options/manage). При создании задается машинное имя (id), категория и вводится список опций в формате "ключ|Значение" (по одной строке на вариант).
При настройке элемента вебформы типа select, checkboxes или radios в качестве источника вариантов можно выбрать предопределенный набор из таблицы webform_options. Элемент формы будет ссылаться на набор по его машинному имени (id).
Главное преимущество такого подхода - централизованное управление. Если необходимо изменить значение или добавить новый вариант в список (например, добавить новую страну), правка вносится всего в одном месте - в наборе опций. Изменение автоматически применяется ко всем вебформам, которые используют этот набор.
Поле options хранит данные в сериализованном виде. Это означает, что массив PHP преобразуется в строку специального формата для хранения в базе данных. При обращении к набору опций Drupal автоматически десериализует эти данные обратно в массив.
Пример SQL-запроса
Выбрать все активные наборы опций из категории "countries" можно следующим запросом:
SELECT id, category, options
FROM webform_options
WHERE status = 1
AND category = 'countries'
ORDER BY id;
Смотрите также
-
таблицу
webform,
которая хранит основные данные вебформ -
таблицу
webform_submission,
которая хранит данные отправленных форм -
таблицу
webform_submission_data,
которая хранит данные полей отправленных форм -
таблицу
webform_element,
которая хранит структуру и настройки элементов формы