Быстрый старт
За 20 минут вы поставите пакет, соберёте комплект из двух товаров, выведете его на карточку и проверите корзину.
Перед стартом
У вас уже стоят MODX 3, miniShop3, VueTools ≥ 1.1.2-pl, pdoTools и PHP 8.2+. У роли менеджера будут нужны права msbundles_view и msbundles_save. Их удобно выдать сразу после установки.
Установка
Пакет платный. Ставится только с modstore.pro. Без провайдера установка падает с Package provider not found.
- Откройте Система → Управление пакетами → Провайдеры и добавьте modstore.pro:
- URL:
https://modstore.pro/extras/ - Email и API-ключ из личного кабинета modstore.pro
- URL:
- Найдите и установите msBundles.
- Очистите кэш MODX.
- В политике менеджера включите
msbundles_viewиmsbundles_save. - Откройте Компоненты → msBundles. Список должен открыться без белого экрана и ошибок VueTools.
При установке пакет сам создаёт таблицы, права, события, маршруты API и привязывает плагин к корзине miniShop3.
Шаг 1. Создайте комплект

- Нажмите Добавить комплект.
- Введите название, например «Ноутбук + наушники». При желании заполните описание и выберите картинку в медиа-браузере.
- Включите Активен. Пока переключатель выключен, витрина комплект не покажет.

Шаг 2. Добавьте товары и цены
В поиске состава введите название, артикул или ID товара. Добавьте минимум две позиции. Один и тот же товар дважды в комплект не попадёт.
Для каждой строки задайте количество, режим цены и флаг Обяз. Порядок строк меняйте перетаскиванием за ручку слева.
| Режим | Что указываете | Результат |
|---|---|---|
| Оригинал | ничего | Цена товара из miniShop3 |
| Фикс | сумму | Фиксированная цена за единицу |
| Скидка % | 0–100 | Процент от цены товара |
| Скидка суммой | сумму | Сумма вычитается из цены товара |
| Бесплатно | ничего | 0 за единицу |
Для старта удобно оставить ноутбук в режиме Оригинал, а наушникам поставить Скидка % = 50. Итог и Экономия смотрите в футере редактора.
Шаг 3. Проверьте превью и сохраните

Справа два блока. Сводка показывает число позиций и единиц. Как на витрине показывает цену, экономию и доступность для одного комплекта.
Если обязательного товара нет на складе, над формой появится предупреждение. Нажмите Сохранить. Пока в составе нет товаров, кнопка недоступна.
Шаг 4. Выведите на витрину
В шаблоне страницы товара:
{'!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]]Откройте любой товар из состава, например «Наушники». Карточка «Ноутбук + наушники» должна быть на месте.
Шаг 5. Проверьте корзину
На карточке комплекта задайте количество и нажмите кнопку добавления. В таблице корзины:
- у главной строки комплекта видны бейдж «Комплект» и кнопка «Удалить комплект»
- у остальных позиций комплекта текст «Входит в комплект…», количество менять нельзя
- смена количества у главной строки двигает остальные позиции вместе с ней
Чтобы HTML корзины на странице обновился после добавления, у msCart укажите selector. В чанке корзины под названием товара вызовите tplMsBundlesCartInfo. Разбор: Вывод на сайте.
{'!msCart' | snippet : [
'tpl' => 'tpl.msCart',
'return' => 'tpl',
'selector' => '#ms-cart'
]}[[!msCart?
&tpl=`tpl.msCart`
&return=`tpl`
&selector=`#ms-cart`
]]Если что-то не работает
| Проблема | Что проверить |
|---|---|
| Раздел не открывается | VueTools ≥ 1.1.2-pl, право msbundles_view |
| Карточки нет на витрине | Переключатель Активен, вызов msBundles в шаблоне |
| Кнопка добавления молчит | В head есть msBundles.initialize |
| Сумма и блок корзины не обновляются | У msCart задан selector |
| В корзине нет бейджа «Комплект» | В чанке корзины есть tplMsBundlesCartInfo |
