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

msBundles

Рендерит HTML комплектов. Ставьте в шаблон товара или туда, где нужны карточки наборов.

Порядок выбора

  1. bundle > 0 — один комплект по ID. Если он неактивен и activeOnly=1, результата нет.
  2. Иначе product > 0 — комплекты, где товар в составе.
  3. Иначе возвращается emptyTpl.

При msbundles_stock_behavior=hide и недоступном остатке по обязательным позициям карточка не выводится. Режимы block и message оставляют карточку с модификаторами --blocked / --warning.

Без картинки у комплекта и при imageFallback=1 берётся thumb первого товара состава.

Параметры

ПараметрПо умолчаниюОписание
product0ID ресурса товара. Выводит комплекты, куда он входит
bundle0ID одного комплекта (вместо product)
tpltplMsBundlesItemЧанк карточки
wrapperTpltplMsBundlesListОбёртка списка
emptyTpltplMsBundlesEmptyПустой результат
productTpltplMsBundlesProductСтрока состава
imageFallback0Нет картинки комплекта → thumb первого товара
activeOnly1Только активные
quantity1Число комплектов для цены и остатков
toPlaceholderИмя плейсхолдера. Сниппет вернёт пустую строку

Примеры

На странице товара:

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

Один комплект по ID:

fenom
{'!msBundles' | snippet : [
  'bundle' => 5,
  'tpl' => 'tplMsBundlesItem',
  'wrapperTpl' => 'tplMsBundlesList'
]}
modx
[[!msBundles?
  &bundle=`5`
  &tpl=`tplMsBundlesItem`
  &wrapperTpl=`tplMsBundlesList`
]]

В плейсхолдер:

fenom
{'!msBundles' | snippet : [
  'product' => $_modx->resource.id,
  'toPlaceholder' => 'bundlesHtml'
]}
{$_modx->getPlaceholder('bundlesHtml')}
modx
[[!msBundles?
  &product=`[[*id]]`
  &toPlaceholder=`bundlesHtml`
]]
[[+bundlesHtml]]

Плейсхолдеры карточки и строк состава: Вывод на сайте. Рядом всегда вызывайте msBundles.initialize.