
- MODX 3
- PHP 8.2
- miniShop3


Все настройки — в пространстве имён ms3promocode (Система → Настройки).
| Настройка | По умолчанию | Описание |
|---|---|---|
ms3promocode.frontend_assets_preset | core_ui | Пресет подключаемых JS/CSS (см. ниже). |
ms3promocode.cancel_statuses | (пусто) | CSV ID статусов заказа, при переходе в которые откатывается применение кода. |
ms3promocode.lock_statuses | (пусто) | CSV ID статусов заказа, в которых вкладка «Промо-код» заблокирована для редактирования. |
ms3promocode.frontend_assets_preset Выбирает, какие JS/CSS подключать на странице — через событие OnLoadWebDocument.
| Значение | Что подключается |
|---|---|
core_ui | Headless-ядро + UI-слой + CSS. Готовая форма из коробки. |
core | Только headless-ядро. Для собственного JS-фронтенда поверх API. |
none | Ничего. Шаблон подключает нужные файлы сам. |
Любое другое значение (например, опечатка core_ui_full) приведёт к режиму core: UI-слой не подключится, в логах ошибки не будет.
Подсказка
Для большинства магазинов подходит core_ui — форма работает без настройки. core — если у магазина свой JS-фронтенд (Vue/React/Svelte) и собственная форма поверх API. none — для полного контроля над подключением файлов.
ms3promocode.cancel_statuses Когда заказ переходит в один из перечисленных здесь статусов, плагин:
ms3_promo_code_usages как cancelled (ставит cancelled_at).used_count у соответствующего промо-кода.При обратном переходе из этих статусов в любой другой — действие откатывается:
cancelled_at снимается.used_count инкрементируется.Формат — CSV ID статусов. Для стандартной установки MiniShop3 это обычно 5 (статус «Отменён»):
5Стандартные статусы MiniShop3 (ms3_order_statuses):
| ID | Статус |
|---|---|
| 1 | Черновик |
| 2 | Новый |
| 3 | Оплачен |
| 4 | Отправлен |
| 5 | Отменён |
Если на магазине статусы переименованы или добавлены свои — укажите нужные ID.
Если настройка пуста — откат не происходит, использования не отменяются.
ms3promocode.lock_statuses Когда заказ находится в одном из перечисленных статусов, вкладка «Промо-код» в карточке заказа:
Формат — CSV ID статусов:
4,5Это полезно для статусов «Отправлен», «Оплачен», «Отменён» (см. таблицу стандартных статусов выше) — когда состав/сумма заказа считается финальной.
Помимо собственных, ms3PromoCode читает несколько настроек MiniShop3:
| Настройка | Где используется |
|---|---|
ms3_currency_symbol | Форматирование сумм скидки в формах и сообщениях ошибок |
ms3_currency_position | Префикс/постфикс символа валюты (before/after) |
ms3promocode.frontend_assets_preset = core_ui
ms3promocode.cancel_statuses = 5
ms3promocode.lock_statuses = 4,5ms3promocode.frontend_assets_preset = coreUI-слой (готовая форма) не загружается, доступен только глобальный window.ms3PromoCode.
ms3promocode.frontend_assets_preset = noneВ шаблоне страницы корзины подключите скрипты вручную:
<link rel="stylesheet" href="/assets/components/ms3promocode/css/web/ms3promocode.css">
<script src="/assets/components/ms3promocode/js/web/core/ApiClient.js"></script>
<script src="/assets/components/ms3promocode/js/web/core/PromoCodeAPI.js"></script>
<script src="/assets/components/ms3promocode/js/web/ms3promocode.headless.js"></script>
<script src="/assets/components/ms3promocode/js/web/ui/PromoCodeUI.js"></script>
<script src="/assets/components/ms3promocode/js/web/ms3promocode.js"></script>