
Системные настройки
Все ключи в пространстве имён mspricetiers. Области: main, integration, security, user_groups, time_based, progress_bar.
Основные
| Ключ | По умолчанию | Описание |
|---|---|---|
mspricetiers_enabled | Да | Глобальное включение расчёта оптовых цен |
mspricetiers_apply_in_cart | Да | Пересчёт цен в корзине MS3 |
mspricetiers_apply_on_product_page | Да | Таблица порогов и динамическая цена на карточке |
mspricetiers_cart_tiers_enabled | Да | Пороги скидки по сумме корзины (от общей суммы заказа) |
mspricetiers_debug | Нет | Расширенное логирование в журнал MODX |
mspricetiers_enabled
При Нет компонент не меняет цены и не выводит пороги.
mspricetiers_apply_in_cart
При Нет в корзине и на оформлении остаётся базовая цена, даже если на карточке показывалась оптовая.
mspricetiers_apply_on_product_page
При Нет msPriceTiers может вернуть пустой вывод. JS не обновляет цену на странице.
mspricetiers_cart_tiers_enabled
При Нет отключаются пороги по сумме корзины и прогресс mspricetiers.progress_cart_sum. Пороги по количеству товара работают как раньше.
Интеграция
| Ключ | По умолчанию | Описание |
|---|---|---|
mspricetiers_integrate_ms3variants | Да | Базовая цена — из выбранного варианта ms3Variants |
Пример: вариант «Синяя» — 1200 ₽, порог от 10 шт — скидка 15%. При 10 штуках и выбранном варианте итог считается от 1200 ₽.
Безопасность
| Ключ | По умолчанию | Описание |
|---|---|---|
mspricetiers_allowed_origins | пусто | Разрешённые Origin для AJAX (через запятую). Пусто — текущий хост |
Группы пользователей
| Ключ | По умолчанию | Описание |
|---|---|---|
mspricetiers_user_groups_enabled | Да | Учитывать поле user_group на пороге (JSON ID групп MODX) |
Порог с группами [2,3] действует только для пользователей из этих групп.
Временные акции
| Ключ | По умолчанию | Описание |
|---|---|---|
mspricetiers_time_based_enabled | Да | Учитывать valid_from / valid_until на пороге |
mspricetiers_time_zone | пусто | Часовой пояс для дат (пусто — часовой пояс сайта MODX) |
Прогресс-бар
| Ключ | По умолчанию | Описание |
|---|---|---|
mspricetiers_progress_bar_enabled | Да | Сниппет msPriceTiersProgress |
mspricetiers_progress_bar_animation | Да | Анимация полосы прогресса |
Категории, пороги по сумме и шаблоны
Отдельных системных настроек для категорий и шаблонов нет. Каскад цен на витрине:
- Активные пороги товара (% или фикс. ₽).
- Активные пороги родительской категории (только %), если у товара нет своих.
- Базовая цена MS3 / варианта.
В корзине: сначала пороги по количеству на каждой позиции, затем скидка по сумме корзины (если mspricetiers_cart_tiers_enabled = Да).
Шаблоны хранятся в БД (mspricetiers_templates). На витрину попадают после применения к товару или категории. Режимы: merge (добавить) и replace (заменить все). См. Управление порогами.
old_price в форме порога нет. Зачёркнутая цена на витрине берётся из old_price или базовой цены товара/варианта MS3, когда цена по порогу ниже.
Проверка в шаблоне (Fenom)
{if ('mspricetiers_enabled' | option)}
{'!msPriceTiers' | snippet : ['product' => $_modx->resource.id]}
{/if}[[!msPriceTiers?
&product=`[[*id]]`
]]Рекомендуемые профили
Production
enabled,apply_in_cart,apply_on_product_page,cart_tiers_enabled— Даdebug— Нетintegrate_ms3variants— по факту использования вариантов
Только витрина без корзины
apply_in_cart— Нетapply_on_product_page— Да
События MS3 (приоритет)
Плагин mspricetiers_events подписан на msOnGetProductPrice (приоритет 15, после ms3Variants), msOnProductsLoad, msOnProductPrepare, события корзины (msOnBeforeAddToCart … msOnGetCart). Менять приоритет — только при конфликте с другими дополнениями ценообразования.
