Таблица oc_coupon_product
Таблица oc_coupon_product определяет связь между купонами и конкретными товарами в системе OpenCart. Она позволяет ограничить действие купона только определенными товарами из каталога.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
coupon_product_id |
int |
Уникальный идентификатор записи в этой таблице. |
coupon_id |
int |
Внешний ключ, который связывает запись с конкретным купоном. Ссылается на таблицу oc_coupon.
|
product_id |
int |
Внешний ключ, который связывает запись с конкретным товаром. Ссылается на таблицу oc_product.
|
Как это работает
При создании купона в админ-панели OpenCart администратор может выбрать, будет ли купон применяться ко всей корзине или только к определенным товарам. Если выбрана опция применения к конкретным товарам, то для каждого выбранного товара в таблицу oc_coupon_product добавляется запись, связывающая coupon_id купона с product_id товара.
Когда покупатель применяет купон при оформлении заказа, система проверяет наличие товаров в корзине, которые связаны с этим купоном через таблицу oc_coupon_product. Скидка применяется только к тем товарам, которые есть в этой таблице для данного купона.
Если для купона в таблице oc_coupon_product нет ни одной записи, это означает, что купон применяется ко всем товарам в корзине (при условии, что выполнены другие условия купона - минимальная сумма, категории товаров и т.д.).
Пример SQL-запроса
Получить список всех товаров, к которым применяется купон с ID 5:
SELECT p.product_id, pd.name
FROM oc_coupon_product cp
LEFT JOIN oc_product p ON (cp.product_id = p.product_id)
LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id)
WHERE cp.coupon_id = 5
AND pd.language_id = 1;
Смотрите также
-
таблицу
oc_coupon,
которая содержит основную информацию о купонах -
таблицу
oc_product,
которая хранит информацию о товарах -
таблицу
oc_coupon_category,
которая связывает купоны с категориями товаров -
таблицу
oc_coupon_history,
которая отслеживает историю использования купонов