[msPromoCode2] Кейс. Генерация промо-кода в письме на следующий заказ
Не так давно в документации к msPromoCode2 появился интересный кейс, при помощи которого можно поднять процент повторных продаж на сайте. Работает так:
- Клиент оплачивает заказ,
- Статус заказа меняется на «Оплачено»,
- В письме ему приходит промо-код на следующий заказ, который действителен в течение месяца.
Поблагодарить автора
Отправить деньги
Комментарии: 6
Программная генерация почему-то никак не реагирует на параметр allcart.
Все параметры задаются правильно, а вот allcart чекбокс никак не выбирается.
Пробовал и allcart => 1 и allcart=>true
Все параметры задаются правильно, а вот allcart чекбокс никак не выбирается.
Пробовал и allcart => 1 и allcart=>true
Пример кода дайте.
извиняюсь за долгий ответ:
$mspc2 = $modx->getService('mspromocode2', 'msPromoCode2',
MODX_CORE_PATH . 'components/mspromocode2/model/mspromocode2/');
$mspc2->initialize($modx->context->key);
$manager = $mspc2->getManager();
// Формат промо-кода в виде regex-like синтаксиса
$format = '[a-zA-Z0-9]{12}';
$permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
// Output: 54esmdr0qf
$couponCode = substr(str_shuffle($permitted_chars), 0, 10);
// Параметры промо-кода
$data = [
// Основное
'code' => $couponCode,
'list' => 'default', // Поле "Список" для промо-кода
'count' => 1, // Сколько раз можно применить генерируемый промо-код
'discount' => $mspcDiscount, // Размер скидки для генерируемого промо-кода
'description' => $mspcDescription, // Описание промо-кода
'allcart' => 1,
// Конфиг
'showinfo' => true, // Показывать предупреждения
'oneunit' => false, // На одну единицу товара
'onlycart' => true, // Только в корзине
'unsetifnull' => false, // Не применять без скидки
'unsetifnull_msg' => '', // Текст при отмене
'oldprice' => false, // Без старой цены
// Время действия
// 'lifetime' => 60 * 20, // В секундах
// или
// 'startedon' => '', // Начало действия, timestamp
// 'stoppedon' => '', // Конец действия, timestamp
];
//
$result = $manager->generateCoupon($format,$data);
Поправил в 1.1.19-beta.
Благодарю, работает
Давно не пользовался данным модулем, но решил потестировать генерацию промокодов и уже второй день не могу разобраться, мне пишет «В корзине нет товаров, соответствующих этому промо-коду» Пробовал создавать как в ручную так и генерируемый код, Список тестировал как defaul так и пробовал выбирать конкретный товар, категорию. Если убрать галочку «Отображать „жёлтые“ предупреждения при применении промо-кода.» пишет что применен, но при этом ни чего не происходит (не применяется). Менял немного дизайн корзины, но все настройки, включая {$product | mspc2CartKey} добавлены. Не знаю куда и копать. Пробовал удалить и установить заново, не помогло. В поддержку написать не могу( Закончилась в декабре.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.