Небольшое вступление
Очень часто на сайтах Интернет магазинов требуется добавить функционал скидок, и вечно приходиться писать свои костыли, для очередного проекта написал удобный модуль которым теперь и поделиться за вознаграждение не жалко:)
В целом это первая ласточка из того что хочу реализовать под EVO ибо в свете того что MODX 3 ждать нам еще долго :(
rtfm.modx.com/revolution/2.x/getting-started/an-overview-of-modx/roadmap
А на REVO желания переходить так и нет то решил написать замену Shopkeeper но пока не хватает под это времени да и стимула^ поэтому буду писать частями и думаю в итоге получиться то что надо.
Итак первый модуль evoSale
Возможности:
— Создание промокодов с типом % или Руб.
— Возможность указать дату до которой действует промокод
— Возможность указать количество использований промокода
— Массовое создание промокодов
Установка:
— устанавливаем модуль + плагин (будет доступен пакет автоустановки через extras)
Интеграция c SHK:
— В Шаблоне корзины добавляем плейсхолдер
[+evoSale+] — на месте него будет форма для ввода промокода + после ввода промокода информация о том какая скидка.
— Для вывода в почте пока реализовано не совсем правильно но зато очень просто:
вставляем вот такой вызов:
[[if? &is=`$_SESSION['discount']['discount']:>:0` &math=`on` &then=`
(с учетом скидки: <b>[[if? &is=`$_SESSION['discount']['discount']` &math=`on`]] [[if? &is=`$_SESSION['discount']['discounttype']` &math=`on`]] </b>)
`]]
то есть банально дописываем что у нас цена указывается с учетом скидки.
В целом на этом все больше никаких действий для работы модуля делать не нужно.
В модуле пока это все дело пишется в поле комментария, но планирую в целом переписать модуль SHK что б это было по человечески, так же сделать подобный модуль для учета доставки.
Скриншоты: