Таблица oc_attribute_description
Таблица oc_attribute_description является частью системы атрибутов товаров в OpenCart и предназначена для хранения многоязычных названий и других текстовых данных атрибутов. Каждый атрибут может иметь переводы на все поддерживаемые магазином языки.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
attribute_id |
int |
Идентификатор атрибута. Внешний ключ, связывающий описание с основной записью атрибута в таблице oc_attribute.
|
language_id |
int |
Идентификатор языка. Внешний ключ, связывающий описание с языком из таблицы oc_language. Определяет, для какого языка предназначено данное описание.
|
name |
varchar(64) |
Название атрибута на указанном языке. Это то имя, которое видят покупатели в карточке товара (например, "Цвет", "Размер", "Материал"). |
Как это работает
При создании атрибута в административной панели OpenCart (Каталог → Атрибуты → Атрибуты) сначала создается запись в таблице oc_attribute, где хранятся общие данные (attribute_id, attribute_group_id, sort_order). Затем для каждого активного языка магазина создается отдельная запись в таблице oc_attribute_description с переводом названия атрибута.
При отображении товара на витрине магазина система определяет текущий язык и подгружает из oc_attribute_description соответствующие названия для всех атрибутов этого товара.
Первичный ключ таблицы состоит из двух полей: attribute_id и language_id. Это гарантирует, что для каждого атрибута может существовать только одна запись на каждом языке.
Пример SQL-запроса
Получить все переводы названий для конкретного атрибута можно следующим запросом:
SELECT ad.*, l.name as language_name, l.code as language_code
FROM oc_attribute_description ad
LEFT JOIN oc_language l ON (ad.language_id = l.language_id)
WHERE ad.attribute_id = 12;
Получить название атрибута на определенном языке по его ID:
SELECT name
FROM oc_attribute_description
WHERE attribute_id = 7 AND language_id = 1;
Смотрите также
-
таблицу
oc_attribute,
которая хранит основные данные атрибутов -
таблицу
oc_product_attribute,
которая связывает товары с их атрибутами -
таблицу
oc_attribute_group_description,
которая хранит описания групп атрибутов -
таблицу
oc_language,
которая содержит список языков магазина