Skip to content
ms3PromoCode
ms3PromoCode
Промо-коды для MiniShop3 с гибкими правилами, генерацией по маске и интеграцией в позиции заказа
  • MODX 3
  • PHP 8.2
  • miniShop3
  1. Компоненты
  2. ms3PromoCode
  3. Интерфейс админки
  4. Управление кодами

Управление кодами ​

Список всех промо-кодов и редактор для создания/изменения.

Список ​

Таблица с серверной пагинацией. Колонки:

КолонкаОписание
КодСам промо-код
НазваниеПроизвольное имя кода (например, «Весенняя распродажа −10%»)
Тип / значение10% для percent, 100 ₽ для fixed
ИспользованоТекущий счётчик / лимит (или used/∞, если лимит не задан)
Мин. суммаМинимальная сумма заказа или —, если не задана
ПериодДаты действия
СтатусЦветной бейдж (см. ниже)
ДействияВключить/выключить, редактировать, удалить

Двойной клик по строке открывает диалог редактирования — альтернатива иконке «карандаш» в колонке «Действия».

Цветные статусы ​

СтатусКогда
activeКод активен, в периоде действия, лимит не исчерпан
scheduledДата начала ещё не наступила
expiredДата окончания прошла
exhaustedЛимит применений исчерпан
disabledКод вручную отключён в редакторе

Подсказка

Для покупателей disabled маскируется как not_found — они не узнают, что код существует, но временно отключён.

Фильтры ​

Над таблицей — панель фильтров:

  • Поиск — по тексту кода и названия (без учёта регистра).
  • Статус — выпадающий список: «Все» / «Активные» / «Неактивные» (фильтр по полю active, а не по вычисляемому status).
  • Период создания — диапазон дат.
  • Кнопка «Сбросить фильтры» (иконка pi-filter-slash) — очищает все фильтры разом.

Фильтры применяются сразу при изменении.

Создание кода ​

Кнопка Новый код на панели инструментов открывает диалог-редактор. В начале формы — переключатель Способ задания:

  • Ввести вручную — одно значение.
  • По маске — пакетная генерация.

Диалог редактора — три вкладки ​

1. Основное ​

ПолеОписание
Код / МаскаВ режиме «ввести вручную» — само значение. В режиме «по маске» — шаблон.
Название *Обязательное поле. Отображается в списке и используется в чеках и уведомлениях.
КоличествоТолько для маски — сколько кодов сгенерировать.
Тип скидкиpercent или fixed. Соседнее поле меняет подпись: «Процент» для percent, «Сумма» для fixed.
Процент / СуммаЧисленное значение (для percent — без знака %, например 10 = 10%).
Область примененияall — скидка на всю корзину; matching — только на позиции, подпадающие под правила.
Действует сКогда код становится валидным. Можно очистить — будет «без даты начала».
Действует доКогда код становится недействительным.
Макс. примененийСколько раз код может быть применён всего. 0 = без лимита.
Мин. сумма заказаЕсли корзина меньше — код не применится. Можно очистить.
АктивенРучное отключение кода.
ОписаниеПроизвольная заметка для менеджера.

Маска ​

Синтаксис маски:

СимволЧто означает
#Цифра
?Буква (только из безошибочного набора)
*Цифра ИЛИ буква
Любой другойЛитерал, копируется как есть

Для букв (? и *) используется безошибочный набор: нет O, I, L — покупатель не спутает их с цифрами при вводе с бумажного носителя. Для цифр (# и *) используется полный набор 0–9, включая 0 и 1.

Под полем маски — три примера сгенерированных кодов. Обновляются при изменении маски.

2. Правила ​

Применяется только при Область применения = matching. Семь секций фильтрации:

  • Товары — поиск с автодополнением по товарам MS3.
  • Исключить товары — поиск (товары, на которые скидка НЕ распространяется).
  • Категории (только выбранные) — поиск категорий (только перечисленные).
  • Исключить категории — только НЕ из этих категорий.
  • Бренды — выбор нескольких из списка зарегистрированных брендов.
  • Фильтр по полям товара — поле + оператор + значение.
  • Фильтр по опциям товара — option_key + values.

Подсказка

Несколько секций объединяются по И. Значения внутри одной секции — по ИЛИ.

Например, «Бренды: Apple, Samsung» + «Фильтр по полям: цена > 30000» = только товары Apple ИЛИ Samsung И с ценой больше 30000.

Подробнее о доступных операторах — Правила (Rules).

3. Статистика ​

Доступна после первого сохранения кода. Показывает:

  • Две карточки показателей: «Всего применений» и «Сумма выданных скидок».
  • Текущий счётчик used_count / лимит.
  • Дата создания, дата последнего обновления.
  • Статус (тот же, что в списке).

Сводка по этому коду; общая аналитика по всем кодам — в отдельном разделе.

Удаление кода ​

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

В xPDO-схеме связь msPromoCode → Usages имеет тип composite и owner = 'local' — при удалении промо-кода все связанные записи в ms3_promo_code_usages удаляются каскадно. История применений, суммы скидок, привязка к заказам и покупателям — пропадают безвозвратно.

Если код когда-то применялся и его данные нужны в аналитике и отчётах, не удаляйте его: отключите флажок «Активен». Код исчезнет для покупателей, но вся история останется.

Дублирование кодов ​

Кнопки «Дублировать» в списке нет. Создайте новый код вручную или выберите режим «По маске» с количеством 1.