Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
65 of 152 menu
Бесплатный курс: Практика на Реальных Проектах и Работы в Портфолио! Начало 11 ноября. Жми для записи!

Таблица 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,
    которая отслеживает историю использования купонов