1290
15.36
18.43
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание, этот компонент требует PHP
8.2
или выше!
Внимание, этот компонент требует MODX 3 или выше.
Компонент для комплектов товаров MiniShop3. Собираете несколько позиций в набор, задаёте режим цены и скидку на каждую строку, выводите карточку на странице товара. Покупатель добавляет весь состав в корзину одной кнопкой. Смена количества и удаление синхронизируются по комплекту. В корзине — lead/member, компактные превью, кнопка «Удалить комплект».
Список комплектов


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




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





Корзина
Настройки
Требования
Права
Документация
Список комплектов
- поиск по названию и фильтр по активности
- перетаскивание для порядка, копирование, удаление
- счётчик комплектов и кнопка «Добавить комплект»


Редактор комплекта
- состав из товаров каталога через поиск (название, артикул, ID)
- медиа-браузер MODX для картинки комплекта
- количество и режим цены для каждой строки
- обязательные и необязательные позиции
- сводка по позициям и единицам в правой колонке
- превью «Как на витрине»: цена, экономия, остатки




Режимы цены строки
- Оригинал — цена товара из MiniShop3
- Фикс — фиксированная цена за единицу
- Скидка % — процент от цены товара
- Скидка суммой — сумма вычитается из цены
- Бесплатно — 0 за единицу
Остатки
- block — кнопка добавления неактивна
- message — карточка видна, внутри текст предупреждения
- hide — комплект не выводится
При нехватке остатка msBundles добавит комплект без необязательной позиции. API вернёт warnings.
Витрина
- сниппет msBundles и Fenom-чанки
- сниппет msBundles.initialize подключает CSS и JS (helpers → cart → msbundles); хук tplMsBundlesCartInfo в корзине регистрирует ассеты сам
- свой чанк сохраняет data-msbundles / data-msbundles-action / data-bundle-*
- переопределение палитры через CSS-переменные
- корзина: строки связаны по bundle_hash
- у msCart нужен selector, иначе HTML блока не обновится после add
- смена qty одной строки синхронизирует остальные
- удаление любой строки снимает весь комплект





Разбор: сценарии A–E.
Корзина
- первая строка — lead: бейдж «Комплект», «Удалить комплект»
- остальные строки — «Входит в комплект…», qty заблокирован
- смена qty у lead синхронизирует группу с тем же bundle_hash
- удаление любой строки снимает весь комплект
- стили ограничивают превью товаров в таблице (~56×56), чтобы thumb не раздувал строки
Настройки
- msbundles_stock_behavior — поведение при нехватке остатков
- msbundles_max_bundle_quantity — лимит экземпляров за одну операцию add
Требования
- MODX 3.x, PHP 8.2+
- MiniShop3 (MS3 Router), VueTools ≥ 1.1.2-pl, pdoTools
Права
- msbundles_view — раздел и список
- msbundles_save — создание, правка, удаление
Без msbundles_view пункт меню скрыт.
Документация
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.1.0-pl] - 2026-08-24
Added
context_keyon bundles: one bundle entity per MODX context (name, description, composition, active).- Manager: context select in editor, context column and filter in list, product search scoped to bundle context.
- Upgrade resolver backfills existing bundles with
context_key = web. - Snippet params
bundles(comma-separated IDs) andlist=allfor custom bundle listing pages.
Changed
- Storefront snippet/API/cart add only expose bundles matching the current request context.
[1.0.0-pl] - 2026-08-08
Added
- Product bundles for MiniShop3 with shared price/discount and cart sync by
bundle_hash. - Manager UI (Vue 3 + PrimeVue + VueTools): list, search, filter, reorder, copy, editor with storefront preview.
- Line price modes: original, fixed, percent discount, amount discount, free.
- Stock behavior:
block,message,hide; optional lines may be skipped withwarningson add. - Snippet
msBundles, Fenom chunks,msBundles.initialize(CSS → helpers → cart → msbundles.js, once-guard). - Web REST: get, calculate, add, remove via MS3 Router.
- Cart lead/member UI and remove-bundle.
tplMsBundlesCartInforegisters storefront assets when rendered inmsCart(no separateinitializerequired on the cart page alone).- Cart thumb CSS for bundle rows via
.msbundles-cart-rowandtr:has([data-msbundles="cart-info"])(4rem square) before JS enhancement. - Permissions
msbundles_view/msbundles_saveand MODX events for price, stock, cart, CRUD.




Последние обсуждения в сообществе MODX.pro