
- MODX 3
- PHP 8.2
- miniShop3
- Vue 3


Установка пакета, первый комплект, вывод на карточку, проверка корзины.
MODX 3, miniShop3, VueTools, pdoTools, PHP 8.2+. Права msbundles_view и msbundles_save включаются на шаге 4.
Пакет платный, провайдер modstore.pro. Без провайдера установка падает с Package provider not found.
https://modstore.pro/extras/msbundles_view и msbundles_save.Пакет создаёт таблицы, права, события, маршруты API и привязывает плагин к корзине miniShop3.

web), введите название. Заполните описание и картинку по желанию.
В поиске: название, артикул или ID товара. Один товар дважды в комплект не попадёт. Для примера добавьте две позиции.
Для строки: количество, режим цены, Обяз. Порядок меняйте перетаскиванием.
| Режим | Значение | Результат |
|---|---|---|
| Оригинал | — | Цена из miniShop3 |
| Фикс | сумма | Фиксированная цена |
| Скидка % | 0–100 | Процент от цены |
| Скидка суммой | сумма | Вычитается из цены |
| Бесплатно | — | 0 |
Итог и Экономия в футере редактора.

Справа: Сводка и Как на витрине (цена, экономия, доступность).
При нехватке обязательного товара появится предупреждение. Сохранить недоступно без товаров в составе.
В шаблоне товара:
{'!msBundles' | snippet : [
'product' => $_modx->resource.id,
'tpl' => 'tplMsBundlesItem',
'wrapperTpl' => 'tplMsBundlesList',
'emptyTpl' => 'tplMsBundlesEmpty',
'activeOnly' => true
]}[[!msBundles?
&product=`[[*id]]`
&tpl=`tplMsBundlesItem`
&wrapperTpl=`tplMsBundlesList`
&emptyTpl=`tplMsBundlesEmpty`
&activeOnly=`1`
]]В <head>:
{'!msBundles.initialize' | snippet}[[!msBundles.initialize]]Откройте товар из состава: карточка комплекта должна появиться.
В корзине:
У msCart укажите selector. В чанке: tplMsBundlesCartInfo. Разбор: Вывод на сайте.
{'!msCart' | snippet : [
'tpl' => 'tpl.msCart',
'return' => 'tpl',
'selector' => '#ms-cart'
]}[[!msCart?
&tpl=`tpl.msCart`
&return=`tpl`
&selector=`#ms-cart`
]]| Проблема | Что проверить |
|---|---|
| Раздел не открывается | VueTools, msbundles_view |
| Карточки нет | Активен, вызов msBundles |
| Кнопка молчит | msBundles.initialize в head |
| Корзина не обновляется | selector у msCart |
| Нет бейджа | tplMsBundlesCartInfo в чанке |