[msPromoCode2] Кейс. Установка промо-кода программно при входе на сайт
Мало кто знает, что msPromoCode2 можно использовать и как компонент для скидок на товары, без обязательного ввода промо-кода юзером. Всего лишь нужно написать маленький плагин, взаимодействующий с программным API. В этом посте предлагаю данный кейс.
К сожалению, никак не успеваю пополнить раздел API, пусть этот пост станет началом!
2 волшебных шага
- Создаём промо-код DISCOUNT и настраиваем его, как нам необходимо,
- Добавляем плагин и вешаем его на событие OnWebPageInit с приоритетом -9999999 — prnt.sc/q4vcmt
Главное замените значение переменной $code, если название промо-кода у вас отличается.<?php // Код промо-кода, который применяем $code = 'DISCOUNT'; $mspc2 = $modx->getService('mspromocode2', 'msPromoCode2', MODX_CORE_PATH . 'components/mspromocode2/model/mspromocode2/'); $mspc2->initialize($modx->context->key); $manager = $mspc2->getManager(); switch ($modx->event->name) { case 'OnWebPageInit': $couponCurrent = $manager->getCurrentCoupon(); $couponNew = $manager->getCoupon($code); if (!is_array($couponCurrent) && is_array($couponNew)) { $manager->setCoupon((int)$couponNew['id']); } break; }
Поблагодарить автора
Отправить деньги