Skip to content
msBundles
Комплекты товаров miniShop3 с общей ценой, скидкой и синхронизацией в корзине
  1. Компоненты
  2. msBundles
  3. Начало работы
  4. Быстрый старт

Быстрый старт

За 20 минут вы поставите пакет, соберёте комплект из двух товаров, выведете его на карточку и проверите корзину.

Перед стартом

У вас уже стоят MODX 3, miniShop3, VueTools ≥ 1.1.2-pl, pdoTools и PHP 8.2+. У роли менеджера будут нужны права msbundles_view и msbundles_save. Их удобно выдать сразу после установки.

Установка

Пакет платный. Ставится только с modstore.pro. Без провайдера установка падает с Package provider not found.

  1. Откройте Система → Управление пакетами → Провайдеры и добавьте modstore.pro:
    • URL: https://modstore.pro/extras/
    • Email и API-ключ из личного кабинета modstore.pro
  2. Найдите и установите msBundles.
  3. Очистите кэш MODX.
  4. В политике менеджера включите msbundles_view и msbundles_save.
  5. Откройте Компоненты → msBundles. Список должен открыться без белого экрана и ошибок VueTools.

При установке пакет сам создаёт таблицы, права, события, маршруты API и привязывает плагин к корзине miniShop3.

Шаг 1. Создайте комплект

Список комплектов

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

Редактор комплекта

Шаг 2. Добавьте товары и цены

В поиске состава введите название, артикул или ID товара. Добавьте минимум две позиции. Один и тот же товар дважды в комплект не попадёт.

Для каждой строки задайте количество, режим цены и флаг Обяз. Порядок строк меняйте перетаскиванием за ручку слева.

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

Для старта удобно оставить ноутбук в режиме Оригинал, а наушникам поставить Скидка % = 50. Итог и Экономия смотрите в футере редактора.

Шаг 3. Проверьте превью и сохраните

Превью «Как на витрине»

Справа два блока. Сводка показывает число позиций и единиц. Как на витрине показывает цену, экономию и доступность для одного комплекта.

Если обязательного товара нет на складе, над формой появится предупреждение. Нажмите Сохранить. Пока в составе нет товаров, кнопка недоступна.

Шаг 4. Выведите на витрину

В шаблоне страницы товара:

fenom
{'!msBundles' | snippet : [
  'product' => $_modx->resource.id,
  'tpl' => 'tplMsBundlesItem',
  'wrapperTpl' => 'tplMsBundlesList',
  'emptyTpl' => 'tplMsBundlesEmpty',
  'activeOnly' => true
]}
modx
[[!msBundles?
  &product=`[[*id]]`
  &tpl=`tplMsBundlesItem`
  &wrapperTpl=`tplMsBundlesList`
  &emptyTpl=`tplMsBundlesEmpty`
  &activeOnly=`1`
]]

В <head> той же страницы (или общего шаблона):

fenom
{'!msBundles.initialize' | snippet}
modx
[[!msBundles.initialize]]

Откройте любой товар из состава, например «Наушники». Карточка «Ноутбук + наушники» должна быть на месте.

Шаг 5. Проверьте корзину

На карточке комплекта задайте количество и нажмите кнопку добавления. В таблице корзины:

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

Чтобы HTML корзины на странице обновился после добавления, у msCart укажите selector. В чанке корзины под названием товара вызовите tplMsBundlesCartInfo. Разбор: Вывод на сайте.

fenom
{'!msCart' | snippet : [
  'tpl' => 'tpl.msCart',
  'return' => 'tpl',
  'selector' => '#ms-cart'
]}
modx
[[!msCart?
  &tpl=`tpl.msCart`
  &return=`tpl`
  &selector=`#ms-cart`
]]

Если что-то не работает

ПроблемаЧто проверить
Раздел не открываетсяVueTools ≥ 1.1.2-pl, право msbundles_view
Карточки нет на витринеПереключатель Активен, вызов msBundles в шаблоне
Кнопка добавления молчитВ head есть msBundles.initialize
Сумма и блок корзины не обновляютсяУ msCart задан selector
В корзине нет бейджа «Комплект»В чанке корзины есть tplMsBundlesCartInfo

Дальше по желанию: сценарии, настройки, сниппеты.