ms3Discounts
ms3Discounts — дополнение для MODX Revolution 3 и MiniShop3: правила скидок в панели управления и пересчёт price / cost в draft-корзине.
Промокоды в пакет не входят. Купоны подключает внешний модуль через сервис ms3discounts_activator.
Минимальный путь
- Установите MiniShop3 и VueTools. Для стандартных Fenom-чанков установите pdoTools.
- Убедитесь, что настройка
ms3discounts_enabledвключена. - В меню Компоненты → Скидки создайте правило: тип действия, цели и период.
- На карточке товара вызовите
ms3discountsGetDiscount. В каталоге цены пересчитает плагин, а бейдж выведите вызовом сниппета в чанке строкиmsProducts. - Очистите кэш и проверьте цену в корзине после добавления товара.
Быстрые ссылки
| Нужно | Документ |
|---|---|
| Установить и вывести бейдж | Быстрый старт |
| Завести типовую акцию | Рецепты |
| Панель управления и конструктор правил | Панель управления |
Ключи ms3discounts_* и права | Системные настройки |
| Сниппеты и параметры | Сниппеты |
| Корзина, сервисы и API | Интеграция |
| Частые вопросы и ограничения витрины | FAQ |
Что считает движок
Движок поддерживает пять типов действий:
- Процент: скидка в процентах от цены товара.
- Фиксированная сумма: скидка в рублях или валюте на единицу товара.
- Фиксированная цена: установка точной цены единицы товара.
- N-й товар: скидка на каждый N-й товар в заказе (порог n ≥ 2). Единицы сортируются от дешёвых к дорогим.
- Подарок: добавление подарочного товара в корзину с ценой 0.
Цели include: товар, категория, производитель. Если цели include не выбраны, скидка распространяется на все товары каталога в корзине. Сниппет ms3discountsBuyNow правила без явных include-целей в подборку не включает.
Флаги витрины: show_in_catalog (подборки акций и ms3discountsBuyNow), show_in_product (карточка товара и бейдж в строке каталога), show_description (вывод описания акции). Флаг activation_required откладывает применение правила до вызова программного активатора.
Политики и приоритет
Числовое поле priority определяет порядок оценки правил. При равных условиях побеждает правило с большим приоритетом.
| Политика | Поведение |
|---|---|
exclusive | Побеждает одна акция с наибольшей выгодой и блокирует все остальные правила в корзине. |
best | Из группы правил с этой политикой применяется одна акция с максимальной выгодой. |
stackable | Складывается с выбранной акцией best. Если сработала exclusive, не применяется. |
fallback | Применяется только тогда, когда ни одна акция других политик не дала эффекта. |
Условия и расписание
В конструкторе условий доступны параметры корзины (сумма, количество, позиции, вес), товара (цена, остаток, артикул), категории, производителя, опций, пользователя, группы пользователей, контекста и даты.
Блок Исключить отменяет скидку, если выполняется хотя бы одно из его условий. Блок поддерживает любые провайдеры условий.
Расписание задаётся полями date_start, date_end, временем time_start, time_end, днями недели weekdays (1–7) и списком contexts. Пустые значения времени, дней недели и контекстов означают отсутствие ограничений.
