Бесплатные курсы по JavaScript
Начало 17.02.2026. Продолжительность: 1 месяц. Для записи вступайте в канал →
140 of 152 menu
Бесплатная онлайн лекция "Работа с AJAX в JavaScript". Начало: 4 февраля в 20.00. Продолжительность: 1-2 часа. Жми для записи!

Таблица 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,
    которая содержит список языков магазина
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить