Skip to content
ms3PromoCode
Промо-коды для MiniShop3 с гибкими правилами, генерацией по маске и интеграцией в позиции заказа
  1. Компоненты
  2. ms3PromoCode
  3. Быстрый старт

Быстрый старт

Пошаговое руководство по запуску промо-кодов на MiniShop3-магазине.

Шаг 1: Установка

Установите ms3PromoCode через Extras → Installer в админке MODX. Перед установкой убедитесь, что есть зависимости:

  • MiniShop3 1.10+
  • pdoTools 3.x
  • VueTools

При установке Phinx-миграции применятся автоматически — таблицы modx_ms3_promo_codes и modx_ms3_promo_code_usages будут созданы.

Шаг 2: Создание первого кода

  1. Откройте Промо-коды → Управление кодами в админ-меню.
  2. Нажмите Создать.
  3. Заполните форму:
    • Код — например, WELCOME10.
    • Тип скидкиpercent.
    • Размер10.
    • Областьall (на всю корзину).
    • Активен — да.
  4. Сохраните.

Подробнее об опциях — Управление кодами.

Шаг 3: Добавление формы в шаблон корзины

В шаблоне страницы корзины (например, tpl.msCart или собственный чанк) добавьте вызов сниппета:

fenom
{'!ms3PromoCodeForm' | snippet}

Сниппет отрендерит готовую форму с полем ввода и кнопкой «Применить». Стили подключатся автоматически (через системную настройку ms3promocode.frontend_assets_preset).

Шаг 4: Проверка

  1. Откройте каталог, добавьте товар в корзину.
  2. Перейдите в корзину — должна появиться форма промо-кода.
  3. Введите WELCOME10 → нажмите «Применить».
  4. Цены позиций уменьшатся на 10%, итоговая сумма обновится.
  5. Оформите заказ.
  6. В админке: Заказы → ваш заказ → вкладка «Промо-код» покажет применённый код.
  7. Промо-коды → Аналитика — увидите запись о применении.

Шаг 5 (опционально): Настройка автосброса при отмене

Если хотите, чтобы при переводе заказа в статус «Отменён» применение промо-кода откатывалось (декремент used_count) — настройте системную настройку:

  1. Система → Настройки → namespace ms3promocode.
  2. Найдите ms3promocode.cancel_statuses.
  3. Укажите ID статусов через запятую, например: 5,6 (если 5 = «Отменён», 6 = «Отказ»).

При обратном переходе из этих статусов применение восстанавливается автоматически.

Шаг 6 (опционально): Блокировка изменений по статусу

Чтобы менеджеры не могли применить или снять код у заказа в определённых статусах:

  1. Система → Настройкиms3promocode.lock_statuses.
  2. Укажите ID статусов через запятую, например: 4,5 (если 4 = «Доставлен», 5 = «Отменён»).

В этих статусах вкладка «Промо-код» в карточке заказа становится только-для-чтения.

Что дальше

  • Управление кодами — все опции редактора (даты действия, лимиты, минимальная сумма, правила).
  • Шаблон формы — как переопределить чанк, какие data-атрибуты доступны.
  • Web API — для интеграции с собственным фронтендом / SPA.
  • Аналитика — KPI и журнал использований.

Типовые сценарии

Скидка на конкретный бренд

  1. Создайте код, например APPLE15, тип percent, размер 15.
  2. Область — matching (только подпадающие позиции).
  3. Перейдите на вкладку Правила, в секции Бренды выберите нужный бренд.
  4. Сохраните.

В корзине скидка будет распределена пропорционально только по позициям выбранного бренда.

Скидка только при заказе от 5000 ₽

  1. Создайте код, например BIG500, тип fixed, размер 500.
  2. В поле Минимальная сумма заказа укажите 5000.
  3. Сохраните.

Если корзина меньше 5000 ₽ — покупатель увидит сообщение «Сумма заказа меньше требуемого минимума (5 000 ₽)».

Пакетная генерация кодов для рассылки

  1. Промо-коды → Создать.
  2. Переключите режим на По маске.
  3. Маска: WINTER-####-??.
  4. Количество: 1000.
  5. Установите остальные параметры (тип, размер, период).
  6. Сохраните — будет создано 1000 уникальных кодов вида WINTER-4729-KM, готовых к рассылке.