НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
17 of 152 menu

Таблица oc_option_description

Таблица oc_option_description является частью системы многоязычности OpenCart и предназначена для хранения переводов названий и других текстовых данных опций товаров. Каждая опция (например, "Цвет", "Размер", "Материал") может иметь свои названия на разных языках, установленных в магазине.

Поля

Поле Тип данных Описание
option_id int Идентификатор опции. Внешний ключ, связывающий описание с основной записью опции в таблице oc_option.
language_id int Идентификатор языка. Внешний ключ, связывающий описание с языком из таблицы oc_language. Определяет, для какого языка предназначено данное название опции.
name varchar(128) Название опции на конкретном языке. Это то название, которое видят покупатели в карточке товара (например, "Color" для английского и "Цвет" для русского).

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

В админ-панели OpenCart при создании или редактировании опции товара (Раздел "Каталог" → "Опции") администратор заполняет поле "Название опции". Система автоматически создает запись в таблице oc_option, а затем для каждого активного языка в системе создает соответствующую запись в таблице oc_option_description, куда сохраняет введенное название.

На витрине магазина, когда пользователь выбирает язык, система при отображении опций товара ищет их названия в таблице oc_option_description по связке option_id и language_id, соответствующему текущему языку интерфейса.

Таким образом, для одной опции с option_id = 5 в таблице oc_option_description может существовать несколько записей:

  • Для language_id = 1 (английский): name = "Color"
  • Для language_id = 2 (русский): name = "Цвет"

Эта структура позволяет легко управлять мультиязычным контентом магазина и обеспечивает корректное отображение интерфейса для пользователей из разных стран.

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

Получить все переводы для опции с ID 5:

SELECT od.*, l.name as language_name, l.code as language_code FROM oc_option_description od LEFT JOIN oc_language l ON (od.language_id = l.language_id) WHERE od.option_id = 5 ORDER BY l.sort_order;

Найти все опции и их названия на русском языке:

SELECT o.option_id, o.type, od.name FROM oc_option o LEFT JOIN oc_option_description od ON (o.option_id = od.option_id) WHERE od.language_id = 2 ORDER BY o.sort_order;

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

  • таблицу oc_option,
    которая хранит основную информацию об опциях
  • таблицу oc_option_value_description,
    которая хранит описания значений опций
  • таблицу oc_product_option,
    которая связывает опции с товарами
  • таблицу oc_language,
    которая содержит список языков магазина
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить