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

Обзор менеджера

Раздел Компоненты → msBundles открывается из меню или по прямой ссылке manager/?a=index&namespace=msbundles. Интерфейс собран на Vue 3 и PrimeVue через VueTools.

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

Пошаговые сценарии со скриншотами: Сценарии.

Экран списка

Сверху вниз:

  1. Заголовок раздела.
  2. Панель: поиск по названию, фильтр активности, счётчик, кнопка Добавить комплект.
  3. Таблица: порядок, название с картинкой, статус, число товаров, действия.

Фильтр списка

ДействиеКак сделать
Открыть редакторКлик по названию
СкопироватьИконка копирования. Откроется неактивная копия
УдалитьИконка корзины, затем подтверждение
Поменять порядокПеретащите строку за ручку слева

Поиск срабатывает с небольшой задержкой. Фильтр активности: все / активные / неактивные. Пустой список и «ничего не найдено» показывают отдельный экран с кнопкой создания.

Создание и правка

  1. Нажмите Добавить комплект или кликните по названию в списке.
  2. Заполните Название (обязательно). Описание и изображение через медиа-браузер MODX по желанию.
  3. Включите Активен, если комплект уже можно показывать на сайте. При activeOnly=1 на витрине видны только активные.
  4. Добавьте товары поиском по названию, артикулу или ID. Один товар в комплект попадает один раз.
  5. Для каждой строки задайте количество, режим цены и флаг Обяз.
  6. Порядок товаров меняйте перетаскиванием в таблице состава.
  7. Нажмите Сохранить. Без товаров в составе кнопка недоступна.

Редактор

Карточка комплекта появится на страницах всех товаров из состава.

Примеры режимов цены

Один комплект может смешивать разные режимы:

Редактор: Рабочее место

Фиксированная цена и необязательные позиции:

Редактор: Кухня

Скидка процентом или суммой:

Редактор: Набор для путешествий

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

Режимы цены строки

Правая колонка

БлокЧто показывает
СводкаСколько позиций и единиц в составе
Как на витринеЦена, экономия и остатки для одного комплекта. Пометка «Только превью»

Превью витрины

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

Режимы цены строки

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

Итог комплекта = сумма строк × число комплектов. Экономия = разница с суммой по обычным ценам. Нулевая цена на витрине показывается как «Бесплатно».

Обязательные и необязательные товары

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

Необязательную позицию при нехватке комплект пропускает при добавлении в корзину. В ответе API могут появиться warnings. Остальной набор всё равно добавится.

Права

ОперацияПраво
Открыть раздел, список, просмотрmsbundles_view
Создание, правка, удаление, порядок, копированиеmsbundles_save

Как комплект ведёт себя в корзине

Плагин msBundles следит за корзиной miniShop3:

  • при смене количества одной позиции остальные с тем же bundle_hash подстраиваются
  • при удалении одной позиции уходит весь комплект
  • при отдаче корзины добавляются данные для бейджа и подписей

Количество в строке должно быть кратно базовому количеству позиции из комплекта.

На витрине подключите msBundles.initialize и в чанке корзины вызовите tplMsBundlesCartInfo. У главной строки будут бейдж и «Удалить комплект», у остальных количество заблокировано. Чтобы блок на странице обновлялся после добавления, у msCart нужен selector. Подробности: Вывод на сайте.