Таблица oc_subscription_description
Таблица oc_subscription_description является частью системы подписок в OpenCart. Она предназначена для хранения переводов названий и описаний профилей подписок (платежных циклов) на разных языках, установленных в магазине.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
subscription_id |
int |
Внешний ключ, который связывает описание с конкретным профилем подписки. Ссылается на таблицу oc_subscription.
|
language_id |
int |
Идентификатор языка, для которого предназначено данное описание. Внешний ключ для таблицы oc_language.
|
name |
varchar(255) |
Название профиля подписки на конкретном языке (например, "Ежемесячная подписка", "Годовая подписка"). |
Как это работает
Администратор создает в админ-панели (Раздел Catalog > Subscriptions) новый профиль подписки, указывая его параметры: частоту, цикл, продолжительность и т.д. При этом в таблицу oc_subscription добавляется новая запись с уникальным subscription_id.
Для каждого языка, установленного в магазине, администратор может заполнить локализованное название и описание подписки. Эти данные сохраняются в таблице oc_subscription_description, где subscription_id ссылается на созданный профиль, а language_id - на соответствующий язык.
При отображении товара на витрине магазина, если для товара назначен профиль подписки, система автоматически подставляет название и описание подписки на языке текущей сессии пользователя. Это позволяет легко создавать мультиязычные магазины с подписками.
Первичный ключ (PK) для этой таблицы является составным и состоит из двух полей: subscription_id и language_id. Это гарантирует, что для каждого профиля подписки может быть только одна запись на каждом языке.
Пример SQL-запроса
Получить все описания для профиля подписки с ID 5 можно следующим запросом:
SELECT sd.*, l.name as language_name, l.code as language_code
FROM oc_subscription_description sd
LEFT JOIN oc_language l ON (sd.language_id = l.language_id)
WHERE sd.subscription_id = 5
ORDER BY l.sort_order;
Смотрите также
-
таблицу
oc_subscription,
которая хранит основные параметры профилей подписок -
таблицу
oc_product_subscription,
которая связывает товары с профилями подписок -
таблицу
oc_customer_subscription,
которая хранит активные подписки клиентов -
таблицу
oc_language,
которая содержит список языков магазина