Skip to content
msBundles
msBundles
Комплекты товаров miniShop3 с общей ценой, скидкой и синхронизацией в корзине
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Компоненты
  2. msBundles

msBundles ​

Продавайте наборы товаров miniShop3 как одно предложение. Покупатель добавляет комплект одной кнопкой — в корзину попадают все позиции. Цена и скидка считаются автоматически.

Список комплектов в менеджере

Возможности ​

Менеджер ​

Раздел Компоненты → msBundles (Vue 3 + PrimeVue через VueTools). Поиск, фильтрация по активности и контексту, сортировка перетаскиванием.

В редакторе: контекст витрины, название, описание, изображение, состав. Поиск товаров ограничен контекстом. Контекст активного комплекта изменить нельзя — сначала выключите Активен и сохраните.

Копирование, превью «Как на витрине», проверка остатков. Права: msbundles_view, msbundles_save.

Экраны и сценарии: Интерфейс, Сценарии.

Цены и состав ​

Режимы цены для строки:

РежимОписание
ОригиналЦена товара из miniShop3
ФиксФиксированная цена за единицу
Скидка %Процент от цены товара
Скидка суммойСумма вычитается из цены
Бесплатно0 за единицу

Позиции: обязательные и необязательные. В футере — итог и экономия. Карточка появляется на страницах всех товаров состава в том же контексте. Для других языков создайте отдельный комплект (Duplicate → смена контекста и состава).

Остатки ​

Поведение при нехватке обязательной позиции задаёт msbundles_stock_behavior:

ЗначениеПоведение
blockКарточка есть, кнопка неактивна
messageКарточка есть, выводится stock_message
hideКарточка не выводится

Необязательную позицию при нулевом остатке комплект пропускает. Лимит: msbundles_max_bundle_quantity. Подробнее: Системные настройки.

Витрина ​

На карточке товара вызовите msBundles. В каталоге: bundles (ID через запятую) или list=all. Сниппет, REST и корзина отдают только комплекты текущего контекста.

В <head>: msBundles.initialize. Цена пересчитывается при смене количества.

Важны data-атрибуты (data-msbundles, data-ms-bundle, data-msbundles-action), не CSS-классы. Темизация через --msbundles-*.

Код и плейсхолдеры: Вывод на сайте, Сниппеты.

Карточка на витрине

Корзина ​

Комплект в корзине — несколько строк miniShop3 с общим bundle_hash.

Главная строка: бейдж «Комплект», количество, кнопка «Удалить комплект». Остальные: подпись «Входит в комплект…», количество заблокировано. Изменение количества у главной строки меняет остальные. Удаление любой строки убирает весь комплект.

Для обновления корзины у msCart укажите selector. В чанке: tplMsBundlesCartInfo.

Для разработчика ​

REST-маршруты calculate, add, remove, get через роутер miniShop3. События msOnBundle* для кастомизации. Примеры: REST API, События.

Требования ​

КомпонентНазначение
MODX Revolution 3Ядро
miniShop3Корзина и API
VueToolsИнтерфейс
pdoToolsFenom-чанки
PHP 8.2+Сервер

После установки назначьте права msbundles_view и msbundles_save.

ЗадачаСтраница
Установка и первый комплектБыстрый старт
Настройка остатков и лимитовСистемные настройки
Вывод на сайтеВывод на сайте
Страница каталогаКаталог комплектов
Параметры msBundlesmsBundles
Подключение CSS/JSmsBundles.initialize
Интерфейс менеджераИнтерфейс
Сценарии работыСценарии
События и плагиныСобытия
REST APIREST API
Частые ошибкиFAQ