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