Таблица oc_coupon_category
Таблица oc_coupon_category служит для установления связи между купонами (таблица oc_coupon) и категориями товаров (таблица oc_category). Эта связь определяет ограничение действия купона: скидка или фиксированная сумма будет применена только в том случае, если в корзине покупателя присутствует товар из указанной категории.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
coupon_id |
int |
Идентификатор купона. Внешний ключ, который ссылается на поле coupon_id в таблице oc_coupon.
|
category_id |
int |
Идентификатор категории товаров. Внешний ключ, который ссылается на поле category_id в таблице oc_category.
|
Как это работает
При создании купона в админ-панели OpenCart (Раздел "Маркетинг" → "Купоны") администратор может выбрать тип ограничения "Toвар" или "Категория". Если выбрано ограничение по категории, то в интерфейсе появляется возможность выбрать одну или несколько категорий товаров.
Когда покупатель вводит код купона на странице корзины, система проверяет содержимое корзины. Купон будет применен только в том случае, если в корзине есть хотя бы один товар, который принадлежит к одной из категорий, связанных с данным купоном через таблицу oc_coupon_category.
Важно отметить, что данная таблица используется только для создания ограничений. Если для купона не задано ни одной категории в этой таблице, то купон будет действовать на все товары в корзине (при условии, что выполнены другие возможные ограничения, например, по сумме заказа или количеству использований).
Одна запись в таблице представляет собой одну связь "купон-категория". Один купон может быть связан с несколькими категориями, и наоборот, одна категория может быть связана с несколькими купонами.
Пример SQL-запроса
Получить список всех категорий, на которые распространяется действие купона с ID 5, можно следующим запросом:
SELECT ccd.name as category_name
FROM oc_coupon_category cc
LEFT JOIN oc_category_description ccd ON (cc.category_id = ccd.category_id)
WHERE cc.coupon_id = 5 AND ccd.language_id = 1;
Смотрите также
-
таблицу
oc_coupon,
которая хранит основную информацию о купонах -
таблицу
oc_category,
которая хранит информацию о категориях товаров -
таблицу
oc_coupon_product,
которая устанавливает связь купонов с конкретными товарами -
таблицу
oc_coupon_history,
которая отслеживает историю использования купонов