Таблица oc_custom_field_value
Таблица oc_custom_field_value является вспомогательной таблицей для системы пользовательских (дополнительных) полей в OpenCart. Она хранит предопределенные варианты значений для полей с типами "Выпадающий список", "Радиокнопки" и "Флажки".
Поля
| Поле | Тип данных | Описание |
|---|---|---|
custom_field_value_id |
int |
Уникальный идентификатор значения дополнительного поля. Первичный ключ таблицы. |
custom_field_id |
int |
Внешний ключ, который связывает значение с конкретным дополнительным полем. Ссылается на таблицу oc_custom_field.
|
sort_order |
int |
Порядок сортировки значения в списке вариантов. Определяет последовательность отображения значений в выпадающем списке или группе переключателей. |
Как это работает
В админ-панели OpenCart при создании или редактировании дополнительного поля с типом "Select", "Radio" или "Checkbox" администратор может добавить несколько предопределенных вариантов выбора. Каждый такой вариант представляет собой запись в таблице oc_custom_field_value.
Каждое значение связано с родительским полем через custom_field_id. Поле sort_order позволяет управлять порядком отображения значений в интерфейсе.
Для поддержки мультиязычности названий значений используется связанная таблица oc_custom_field_value_description, которая хранит переводы для каждого custom_field_value_id.
Когда пользователь выбирает один из вариантов в форме (например, при регистрации или оформлении заказа), выбранное custom_field_value_id сохраняется в основном поле (например, в oc_customer.custom_field или oc_address.custom_field) в формате JSON.
Пример SQL-запроса
Получить все значения для определенного дополнительного поля с их переводами на русский язык можно следующим запросом:
SELECT cfv.custom_field_value_id, cfvd.name
FROM oc_custom_field_value cfv
LEFT JOIN oc_custom_field_value_description cfvd
ON (cfv.custom_field_value_id = cfvd.custom_field_value_id AND cfvd.language_id = 1)
WHERE cfv.custom_field_id = 5
ORDER BY cfv.sort_order ASC;
Смотрите также
-
таблицу
oc_custom_field,
которая содержит основные настройки дополнительных полей -
таблицу
oc_custom_field_value_description,
которая хранит переводы значений дополнительных полей -
таблицу
oc_customer,
где хранятся выбранные значения дополнительных полей для клиентов -
таблицу
oc_address,
где хранятся выбранные значения дополнительных полей для адресов