msKuponator

Создание сайта-купонатора на miniShop2
Автор дополнения
Павел
Пакетов
18
Закачек
5 554
Автор дополнения
Пакетов
18
Закачек
5 554
Версия 1.1.7-beta2
Дата выпуска 04.11.2016
Загрузки 50
Просмотры 591
Внимание, этот компонент требует версию PHP 5.3 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !
После установки, в бэк-энде на странице товара появится вкладка «Купонатор», там можно настроить или сгенерировать купоны для данного товара.

<cut/>

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


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


Что умеет:


— Генерировать купоны для конкретного товара в любом количестве.
— Распечатывать список купонов из бэк-энда (для партнёра, например).
— Проверять во многих ситуациях, есть ли свободные купоны у товара.
— Выводить список купонных заказов для юзера.
— Выводить список купонов определённого заказа для юзера.
— Распечатывать один купон или массово весь заказ.

Инструкция по настройке на сайте:


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 ему и менеджерам уйдёт уведомление об этом. Следовательно, разницу надо будет вернуть покупателю. Такое может произойти очень редко, но учтено при разработке компонента таким образом. Во избежание такой ситуации необходимо включить настройку «Сгенерировать при нехватке» у товара.

Важно!


— Если в товар не сгенерировано купонов или не указана настройка «Генерировать автоматически», то товар не является купонами и компонент обходит его стороной.

Обсуждение компонента в сообществе MODX.PRO

1.1.7-beta2 (04.11.2016)

  • Совместимость с методом добавления колбеков в miniShop2 => 2.4
  • Поправлена работа в дополнительных контекстах

1.1.7-beta (27.09.2016)

  • Поправлен вывод вкладки компонента на странице товара для miniShop2 версии => 2.4
  • Поправлен вывод поля "Теги" при добавлении/генерации купонов

1.1.6-pl2 (30.04.2016)

  • В сниппете msKuponatorOrders поправлено определение вывода ссылки на оплату

1.1.6-pl (18.04.2016)

  • В сниппете msKuponatorOrders поправлена совместимость с PHP 5.3

1.1.6-beta (17.04.2016)

  • В сниппет msKuponatorOrders добавлена возможность вывести и обычные заказы, без купонов
  • Чанк tpl.msKuponator.orders.row переписан под вывод обычных заказов
  • Поправлена пагинация в сниппетах вывода заказов и купонов

1.1.5-beta (14.04.2016)

  • Исправлена корявая работа напару с msop2, когда плагин по событию msOnBeforeAddToCart в msop2 перебивал изменения, отсылаемые в плагине на аналогичное событие из msKuponator
  • Улучшена проверка на общее количество добавленных купонов в корзине одинакового типа
  • Добавлена возможность указать несколько статусов через запятую, при которых к заказу привязываются купоны
  • Добавлена настройка "Способы оплаты для присвоения купона сразу при оформлении заказа"

1.1.4-beta (13.04.2016)

  • Исправлен косяк в старых версиях MODX с кривым выпадением списка
  • Поправлен фильтр по тегу - теперь в фильтре выводятся только теги, используемые в купонах в текущем товаре
  • Добавлен сниппет msKuponatorOptions для вывода списка опций (тегов), используемых в купонах товара

1.1.3-beta (08.04.2016)

  • Исправлен косяк с удалением купонов

1.1.2-beta (24.03.2016)

  • В сниппет msKuponatorOrderCoupons добавлен параметр &email, для вывода сниппет при отсылке email-а минишопом

1.1.1-pl (09.02.2016)

  • Поправлена возможность сортировки заказов и купонов в сниппетах

1.1.0-pl (02.02.2016)

  • Возможность добавить список купонов со своими кодами
  • Проверка на повтор кода купона, как при генерации, так и при добавлении списком

1.0.3-pl (28.01.2016)

  • В сниппет msKuponatorOrders добавлено формирование ссылки на оплату заказа по выбранному способу. В чанке &tplRow она указывается, как [[+payment_link]]

1.0.2-pl2 (20.01.2016)

  • Пофиксена некорректная работа с массивами опций товаров в PHP 5.3

1.0.2-pl (20.01.2016)

  • Пофиксена логика на событие msOnBeforeAddToCart в условии, проверяющем соответствие продукта из корзины текущему продукту

1.0.1-pl (01.01.2016)

  • В js составляющую добавлено клонирование колбеков miniShop2

1.0.0-beta (16.12.2015)

  • Start

Последние обсуждения в сообществе MODX.pro