Таблица oc_length_class_description
Таблица oc_length_class_description является частью системы единиц измерения в OpenCart и предназначена для хранения переводов названий и описаний единиц длины (например, сантиметр, дюйм, метр) на разных языках магазина.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
length_class_id |
int |
Внешний ключ, связывающий описание с конкретной единицей измерения из таблицы oc_length_class.
|
language_id |
int |
Идентификатор языка, для которого предназначено данное описание. Внешний ключ для таблицы oc_language.
|
title |
varchar(32) |
Название единицы измерения на конкретном языке (например, "Сантиметр", "Centimeter", "Zentimeter"). |
unit |
varchar(4) |
Сокращенное обозначение единицы измерения (например, "см", "cm", "in"). Используется при отображении значений на витрине магазина. |
Как это работает
В админ-панели OpenCart в разделе "Система → Локализация → Единицы длины" администратор может создавать и настраивать различные единицы измерения (например, сантиметры, миллиметры, дюймы). Для каждой единицы задается значение в базовых единицах (миллиметрах) в таблице oc_length_class.
Для поддержки мультиязычности каждую единицу измерения необходимо назвать и обозначить на всех активных языках магазина. Именно для этого служит таблица oc_length_class_description. Для каждой записи из oc_length_class в этой таблице создается столько записей, сколько языков установлено в магазине.
Когда покупатель на витрине магазина видит габариты товара (длину, ширину, высоту) или выбирает опции, связанные с длиной, система использует записи из этой таблицы для корректного отображения названия и сокращения единицы измерения на текущем языке.
Например, для единицы измерения "Сантиметр" (length_class_id = 1) в этой таблице будут храниться записи:
- Для русского языка (
language_id = 1):title = "Сантиметр",unit = "см" - Для английского языка (
language_id = 2):title = "Centimeter",unit = "cm"
Пример SQL-запроса
Получить все переводы для всех единиц длины можно следующим запросом:
SELECT lcd.*, l.name as language_name, l.code as language_code
FROM oc_length_class_description lcd
LEFT JOIN oc_language l ON (lcd.language_id = l.language_id)
ORDER BY lcd.length_class_id, lcd.language_id;
Получить переводы конкретной единицы измерения (например, ID=1) на всех языках:
SELECT lcd.title, lcd.unit, l.name as language
FROM oc_length_class_description lcd
LEFT JOIN oc_language l ON (lcd.language_id = l.language_id)
WHERE lcd.length_class_id = 1;
Смотрите также
-
таблицу
oc_length_class,
которая хранит основные данные и коэффициенты пересчета единиц длины -
таблицу
oc_weight_class_description,
которая выполняет аналогичную функцию для единиц веса -
таблицу
oc_language,
которая хранит список активных языков магазина