Таблица webform_element
Таблица webform_element является центральной для хранения конфигурации всех элементов веб-форм, созданных через модуль Webform в Drupal. Каждая запись в таблице соответствует одному элементу (полю) формы и содержит все необходимые настройки для его отображения и работы.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
webform_id |
varchar(32) |
Идентификатор веб-формы, к которой принадлежит элемент. Внешний ключ к таблице webform.
|
element_key |
varchar(128) |
Машинное имя элемента. Должно быть уникальным в пределах одной формы. |
element_type |
varchar(128) |
Тип элемента (например: textfield, email, select, textarea).
|
element_properties |
longblob |
Сериализованный массив свойств и настроек элемента (заголовок, описание, обязательность, значения по умолчанию, ограничения и т.д.). |
element_parents |
varchar(128) |
Иерархия родителей элемента для вложенных структур (например, для полей внутри fieldset). |
element_weight |
float |
Вес элемента, определяющий его порядок отображения в форме. |
Как это работает
Когда создается или редактируется веб-форма через административный интерфейс, для каждого добавленного элемента (поля) создается запись в таблице webform_element. Поле webform_id связывает элемент с конкретной формой из таблицы webform.
Все настройки элемента (заголовок, описание, значения по умолчанию, валидация и т.д.) сериализуются и сохраняются в поле element_properties. При отображении формы эти данные извлекаются и десериализуются для построения соответствующего элемента формы.
Поля element_parents и element_weight позволяют организовать сложные иерархические структуры внутри формы (вложенные поля, контейнеры) и контролировать порядок отображения элементов.
При отправке формы данные, введенные пользователем, сохраняются не в этой таблице, а в таблице webform_submission_data, где webform_id и element_key используются для связи с определением элемента.
Пример SQL-запроса
Получить все элементы конкретной веб-формы можно следующим запросом:
SELECT element_key, element_type, element_properties, element_weight
FROM webform_element
WHERE webform_id = 'contact'
ORDER BY element_weight;
Смотрите также
-
таблицу
webform,
которая хранит основные данные веб-форм -
таблицу
webform_submission,
которая хранит данные об отправках форм -
таблицу
webform_submission_data,
которая хранит данные, отправленные через веб-формы -
таблицу
webform_options,
которая хранит опции для элементов select, checkboxes, radios