
msPriceTiers
Оптовые цены по количеству для MiniShop3 — пороги на товаре и категории, шаблоны, корзина, ms3Variants


Как за 15 минут включить оптовые цены на странице товара.
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| PHP | 8.2+ |
| MiniShop3 | установлен |
| pdoTools | 3.x (для примеров Fenom) |
| VueTools | для вкладки «Оптовые цены» в MS3 |
Пакет: msPriceTiers на modstore.pro.
| Элемент | Ожидание |
|---|---|
Сервис mspricetiers | В $modx->services |
| Сниппеты | msPriceTiers, msPriceTiers.initialize, msPriceTiersProgress |
Плагин mspricetiers_events | Включён, подписка на события MS3 |
| Таблицы | mspricetiers_product_tier, шаблоны, категорийные пороги |
| Вкладка на товаре | «Оптовые цены» (при установленном VueTools) |
Настройки → Системные настройки, фильтр mspricetiers.
Минимум для витрины:
| Ключ | Значение |
|---|---|
mspricetiers_enabled | Да |
mspricetiers_apply_on_product_page | Да |
mspricetiers_apply_in_cart | Да |
mspricetiers_integrate_ms3variants | Да, если используете ms3Variants |
Полный список: Системные настройки.
10, Цена 900, Старая цена 1000, Порядок 0.Подробнее: Управление порогами.
На шаблоне ресурса msProduct (некэшированно):
{* Подключение CSS/JS и конфигурации *}
{'!msPriceTiers.initialize' | snippet}
<section class="price-tiers">
<h3>{'mspricetiers_price_tiers' | lexicon}</h3>
{'!msPriceTiers' | snippet : ['product' => $_modx->resource.id]}
</section>[[!msPriceTiers.initialize]]
<section class="price-tiers">
<h3>[[%mspricetiers_price_tiers]]</h3>
[[!msPriceTiers?
&product=`[[*id]]`
]]
</section>Чтобы цена пересчитывалась при смене количества, поле должно быть в форме с классами компонента:
<form method="post" class="ms3_form mspricetiers-form">
<input type="hidden" name="id" value="{$_modx->resource.id}">
<label>Количество</label>
<input type="number" name="count" class="mspricetiers-quantity" value="1" min="1">
<button type="submit" name="ms3_action" value="cart/add">В корзину</button>
</form><form method="post" class="ms3_form mspricetiers-form">
<input type="hidden" name="id" value="[[*id]]">
<label>Количество</label>
<input type="number" name="count" class="mspricetiers-quantity" value="1" min="1">
<button type="submit" name="ms3_action" value="cart/add">В корзину</button>
</form>С ms3Variants — форма вариантов на странице (см. Интеграция).
| Действие | Ожидание |
|---|---|
| Открыть карточку товара | Таблица порогов видна |
| Увеличить количество до 10+ | Цена на странице меняется |
| Добавить в корзину 10+ шт. | В корзине цена по порогу |
| Вкладка не появилась | Установить VueTools, жёсткое обновление страницы (Cmd+Shift+R) |
Опционально — прогресс-бар:
{'!msPriceTiersProgress' | snippet : ['product' => $_modx->resource.id]}[[!msPriceTiersProgress?
&product=`[[*id]]`
]]Требует mspricetiers_progress_bar_enabled = Да. См. Сниппет msPriceTiersProgress.