SourceDistillery.com - код двойной очистки от багов

Накопительные скидки в OpenCart

Модули для OpenCart

Для Joomla + Virtuemart

Речь пойдет о модуле накопительных скидок для OpenCart. Модуль расширяет функционал OpenCart по работе с купонами:

Модуль бесплатный. Доступен на GitHub. Программисты приглашаются поучаствовать в развитии модуля.

Модуль тестировался на OpenCart (ocStore) версий 1.5.1.3, 1.5.3.1, 1.5.4.1. Должен работать на версиях OpenCart 1.5.1.x, 1.5.3.x, 1.5.4.x, возможно 1.5.2.x. Не требует vQmod.

Предполагается, что модуль вы успешно установили. Инструкцию по установке ищите в файле readme.txt среди файлов модуля.

В системе администрирования идем в пункт меню "Продажи - Купоны" и жмем кнопку "Добавить", открывается форма:

Три первых отмеченных поля служат для пакетной генерации купонов. В поле код вбиваем серию генерируемых купонов - общий префикс для всех генерируемых купонов. Количество создаваемых купонов - сколько купонов надо создать. Третье поле задает длину случайной части цифрового кода купона.

Следующие 3 поля позволяют задать процент скидки по накопительным картам (купонам). Поле скидка показыват текущую скидку купона. Серия полей "накопительная скидка" позволяет задать рост процента скидки в зависимости от завершенных заказов клиента. Скидка - процент. Пороговая сумма задается в основной валюте магазина. Если вы в процессе работы магазина меняете основную валюту, то все накопительные купоны лучше удалить.

В этой же форме можно другие параметры купонов. Можно задать конкретные товары, на которые будет распространяться скидка. Но если не один товар ни задан, то скидка распространяется на все товары в заказе:

Внизу формы не забудьте указать дату до которого действует купон. По-умолчанию дата установлена сегодняшняя и велика вероятность ошибки создать купон, который зывтра уже не будет действовать.

Когда все поля в форме заполнены и проверен, жмем "Сохранить", и у нас создаются купоны:

Коды, как мы и задавали, содержат единый префикс и случайную последовательность цифр. Скидка - 5%. Таблицу купонов, состоящую из двух столбцов (название и код) можно экспортировать в CSV-файл.

Теперь, когда покупатель в корзине вводит номер купона (карты), он получает скидку:

Что такое, мы мы вводили в купоне скидку 5%, а у покупателя все 8%? А дело в том, что мы задали порог в 1000 руб., когда скидка возрастает до 8%. Изменим в корзине количество товара, чтобы сумма была 2000 руб., и скидка станет все 10%:

После того как покупатель завершил процесс оформления заказа, в системе администрирования появился новый заказ, примененный купон там учтен:

Однако если мы посмотрим в таблице купонов, то баланс примененного купона по-прежнему останется нулевым. А это потому, что заказ еще не завершен.

Это сделано не случайно. Покупатель, сделавший липовый заказ, не сможет выбить себе большую скидку. Чтобы сумма заказа пошла в зачет скидки, статус заказа должен измениться на тот статус, который у вас установлен в настройках магазина на вкладке "Опции". По-умолчанию это статус "Сделка завершена":

Поменяем статус заказа:

Теперь возвращаемся к нашим купонам, и видим, что у одного купона баланс возрос на общую сумму заказа. Пересчитался и процент скидки:

Купон не привязан к учетной записи покупателя. Я никогда не видел, чтобы при прдъявлении дисконтной карты требовали предъявить документ. Код карты - уже сам по себе идентификатор. А передача карты другому человеку привлечет его в ваш магазин.