[msKuponator] Сайт-купонатор на miniShop2
После установки, в бекенде на странице товара появится вкладка «Купонатор», там можно настроить или сгенерировать купоны для данного товара.

На странице списка заказов miniShop2 в модальном окне заказа появится вкладка «Купонатор» со списком купонов, которые купил пользователь, которые в свою очередь присваиваются к заказу только после оплаты оного.

У товара может быть разделение на теги. Например, товар называется «Массаж со скидкой», у него могут быть теги «Класический», «Спортивный» и т.д. Для каждого тега можно сгенерировать нужное кол-во купонов. А пакетом msOptionsPrice2 выставить разные цены для них.

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

Или с фронта при выводе списка купленных купонов:

— Генерировать купоны для конкретного товара в любом количестве,
— Распечатывать список купонов из бекенда (для партнёра, например),
— Проверять во многих ситуациях, есть ли свободные купоны у товара,
— Выводить список купонных заказов для юзера,
— Выводить список купонов определённого заказа для юзера,
— Распечатывать один купон или массово весь заказ.
— www.biglion.ru/
— vigoda.ru/
— www.groupon.ru/
— www.kupibonus.ru/
1) При вызове сниппета [[!msCart]] рядом необходимо вызвать сниппет [[!msKuponatorInitialize]]. Иначе пакет не сможет контролировать действия производимые с корзиной.
2) Заходите в нужный товар на вкладку «Купонатор» и генерируете нужное кол-во купонов.
3) Создаёте страницу «Мои заказы» с таким кодом:
4) Создаёте страницу «Мои купоны» с таким кодом:
— При добавлении товара в корзину происходит проверка всех купонов в корзине на наличие, а также, естественно и добавляемого товара.
— При смене кол-ва купонов в корзине также происходит проверка всей корзины на наличие. В случае, если свободных осталось меньше, то кол-во купонов в корзине уровняется с имеющимся.
— При оформлении заказа (после нажатия на submit) происходит аналогичная проверка корзины и если что-то изменилось — сообщается пользователю.
— При оплате заказа, а точнее при смене статуса на «Оплачен» происходит проверка всех заказов с id статуса ниже, чем у «Оплачен» на нехватку купонов. Если есть заказы с купонами, которых не хватает, а настройка для товара «Сгенерировать при нехватке» отключена, то кол-во купонов в заказе уровняется с имеющимся, а цена заказа будет пересчитана.
— При оплате заказа, происходит проверка на наличие купонов. Если настройка для товара «Сгенерировать при нехватке» отключена, то кол-во купонов в заказе уменьшится и пользователь купит только то, что есть. На email ему и менеджерам уйдёт уведомление об этом. Следовательно, разницу надо будет вернуть покупателю. Такое может произойти очень редко, но не стал обходить ситуацию стороной, решил таким способом (более универсального ничего придумать не удалось). А чтобы такого не происходило вообще, нужно, чтобы настройка у товара «Сгенерировать при нехватке» была включена.
— Если в товар не сгенерировано купонов или не указана настройка «Генерировать автоматически», то товар не является купонами и компонент обходит его стороной.
Пакет можно приобрести на modstore.pro

На странице списка заказов miniShop2 в модальном окне заказа появится вкладка «Купонатор» со списком купонов, которые купил пользователь, которые в свою очередь присваиваются к заказу только после оплаты оного.

У товара может быть разделение на теги. Например, товар называется «Массаж со скидкой», у него могут быть теги «Класический», «Спортивный» и т.д. Для каждого тега можно сгенерировать нужное кол-во купонов. А пакетом msOptionsPrice2 выставить разные цены для них.

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

Или с фронта при выводе списка купленных купонов:

Что умеет:
— Генерировать купоны для конкретного товара в любом количестве,
— Распечатывать список купонов из бекенда (для партнёра, например),
— Проверять во многих ситуациях, есть ли свободные купоны у товара,
— Выводить список купонных заказов для юзера,
— Выводить список купонов определённого заказа для юзера,
— Распечатывать один купон или массово весь заказ.
Список сайтов купонаторов, для общего ознакомления:
— www.biglion.ru/
— vigoda.ru/
— www.groupon.ru/
— www.kupibonus.ru/
Инструкция по настройке на сайте:
1) При вызове сниппета [[!msCart]] рядом необходимо вызвать сниппет [[!msKuponatorInitialize]]. Иначе пакет не сможет контролировать действия производимые с корзиной.
2) Заходите в нужный товар на вкладку «Купонатор» и генерируете нужное кол-во купонов.
3) Создаёте страницу «Мои заказы» с таким кодом:
[[!msKuponatorOrders?
&page_id=`14`
&toPlaceholder=`orders`
]]
[[+orders:isnot=``:then=`[[+orders]]`:else=`Список заказов пуст`]]Параметр &page_id принимает ID страницы «Мои купоны», где выводится сниппет msKuponatorOrderCoupons (смотрите ниже)4) Создаёте страницу «Мои купоны» с таким кодом:
[[!+modx.user.id:isloggedin:is=`1`:then=`
[[!msKuponatorOrderCoupons?
&order_id=`[[!#GET.order]]`
&toPlaceholder=`coupons`
]]
[[+coupons:isnot=``:then=`[[+coupons]]`:else=`Заказ не найден`]]
`:else=`
Авторизуйтесь
`]]Особенности:
— При добавлении товара в корзину происходит проверка всех купонов в корзине на наличие, а также, естественно и добавляемого товара.
— При смене кол-ва купонов в корзине также происходит проверка всей корзины на наличие. В случае, если свободных осталось меньше, то кол-во купонов в корзине уровняется с имеющимся.
— При оформлении заказа (после нажатия на submit) происходит аналогичная проверка корзины и если что-то изменилось — сообщается пользователю.
— При оплате заказа, а точнее при смене статуса на «Оплачен» происходит проверка всех заказов с id статуса ниже, чем у «Оплачен» на нехватку купонов. Если есть заказы с купонами, которых не хватает, а настройка для товара «Сгенерировать при нехватке» отключена, то кол-во купонов в заказе уровняется с имеющимся, а цена заказа будет пересчитана.
— При оплате заказа, происходит проверка на наличие купонов. Если настройка для товара «Сгенерировать при нехватке» отключена, то кол-во купонов в заказе уменьшится и пользователь купит только то, что есть. На email ему и менеджерам уйдёт уведомление об этом. Следовательно, разницу надо будет вернуть покупателю. Такое может произойти очень редко, но не стал обходить ситуацию стороной, решил таким способом (более универсального ничего придумать не удалось). А чтобы такого не происходило вообще, нужно, чтобы настройка у товара «Сгенерировать при нехватке» была включена.
Важно!
— Если в товар не сгенерировано купонов или не указана настройка «Генерировать автоматически», то товар не является купонами и компонент обходит его стороной.
Пакет можно приобрести на modstore.pro
Комментарии: 34
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
допустим, акция проходит в честь такого-то события.
нужно именно промокод для выбранной группы товаров или отдельно (категорий)
Полезная вещь, но почему-то нет такого.
Пока данное решение не видел
Frontend
Нужно, чтобы в корзине был input «промокод»
Как не обязательное поле, если не заполнен.
После заполнения, шел запрос к таблице, где хранятся промокоды с периодом действия.
Если всё соответствует, текущему времени и сам промокод, то автоматически применяется скидка для заданных параметров в админке.
В админке (backend)
Возможность добавить любой промокод —
указать период действия,
выбрать категории
или отдельные товары
Если ничего не выбрано применяется ко всему магазину.
(привязка к группе пользователя, вот не знаю нужна или не нужна) промокод всё-таки.
По идее можно сделать как отдельный компонент и продавать, а можно добавить к этому,
Делал что-то подобное для заказчика пол года назад на базе shopkeeper'a… Но получилась связка из кучи костылей и говнокода.
msDiscount — Генерация одноразовыз купонов со скидочными кодами
msKuponator — Генерировать купоны для конкретного товара в любом количестве
Список сайтов купонаторов, для общего ознакомления:
— www.biglion.ru/
— vigoda.ru/
— www.groupon.ru/
— www.kupibonus.ru/
P.S.: Сейчас посмотрел и понял, что описания то нет у пакета…
Можно вывести количество купленных купонов?
Мне нужно решение для продажи билетов на праздник. Вроде данный компонент подходит, но непонятно как отправлять покупателям сам билет и возможно ли прикрепить его к товару.