Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
67 of 152 menu
Внимание! Репетиторство по Python! Осталось последнее место! Стоимость: 20$ за занятие 1.5 часа. Жми для подробностей!

Таблица oc_voucher

Таблица oc_voucher является центральным хранилищем данных о подарочных сертификатах (ваучерах) в OpenCart. Ваучеры представляют собой предоплаченные купоны с определенным номиналом, которые покупатели могут приобрести для себя или в подарок, а затем использовать при оплате заказов.

Поля

Поле Тип данных Описание
voucher_id int Уникальный идентификатор ваучера (первичный ключ, автоинкремент).
order_id int ID заказа, в котором был приобретен данный ваучер. Внешний ключ, ссылается на таблицу oc_order.
code varchar(10) Уникальный код ваучера. Генерируется системой автоматически и используется для его активации при оформлении заказа.
from_name varchar(64) Имя отправителя подарочного сертификата.
from_email varchar(96) Email адрес отправителя.
to_name varchar(64) Имя получателя подарочного сертификата.
to_email varchar(96) Email адрес получателя.
message text Текст поздравительного сообщения, которое отправитель указывает для получателя.
amount decimal(15,4) Номинальная стоимость ваучера.
status tinyint(1) Статус ваучера: 1 - активен, 0 - неактивен.
date_added datetime Дата и время создания ваучера.

Как это работает

Подарочный сертификат в OpenCart - это по сути товар, который можно добавить в корзину и купить. При оформлении заказа, содержащего ваучер, система создает запись в таблице oc_voucher, связывая её с ID заказа (order_id). Одновременно генерируется уникальный код (code), который отправляется получателю на email.

Получив код, пользователь может ввести его на этапе оформления заказа в блоке "Подарочный сертификат". Система проверяет код в таблице oc_voucher на валидность (существует ли, активен ли, не исчерпан ли лимит) и применяет его номинал (amount) в качестве скидки к общей сумме заказа.

Ваучер может быть использован только один раз. После успешного применения его статус (status) изменяется на неактивный, чтобы предотвратить повторное использование. История использования ваучеров фиксируется в связанной таблице oc_voucher_history.

Управление ваучерами (создание, просмотр, активация/деактивация) осуществляется в админ-панели OpenCart в разделе "Продажи" → "Подарочные сертификаты".

Пример SQL-запроса

Выбрать все активные ваучеры, купленные в определенном заказе:

SELECT v.*, o.order_id, o.invoice_no FROM oc_voucher v LEFT JOIN oc_order o ON (v.order_id = o.order_id) WHERE v.order_id = 42 AND v.status = 1;

Проверить ваучер по коду перед применением:

SELECT voucher_id, code, amount, status FROM oc_voucher WHERE code = 'ABC123DEF4' AND status = 1;

Смотрите также

  • таблицу oc_voucher_history,
    которая хранит историю использования подарочных сертификатов
  • таблицу oc_voucher_theme,
    которая содержит шаблоны оформления подарочных сертификатов
  • таблицу oc_order,
    которая хранит информацию о заказах, содержащих ваучеры
  • таблицу oc_coupon,
    которая предназначена для хранения скидочных купонов