
- MODX 3
- PHP 8.2
- miniShop3
- Vue 3


The package is paid. Add the modstore.pro provider with URL https://modstore.pro/extras/, plus email and API key from your account. Without it the encrypted transport will not install. Steps: Quick start.
Check that VueTools ≥ 1.1.2-pl is installed and the role has msbundles_view. Open manager/?a=index&namespace=msbundles and read the browser console.
Usually msbundles_view is missing, or the cache was not cleared after install. Check the access policy and clear the MODX cache.
Walk the list:
web, en, …).{'!msBundles' | snippet : ['product' => $_modx->resource.id]}msbundles_stock_behavior is not hide.Each bundle has one context_key. For en or de, create a separate bundle: Duplicate, change context (while the copy is inactive), name, and composition. One ID does not span all storefronts.
The upgrade resolver sets context_key = web on existing bundles. If the storefront runs on another context, open the bundle, turn Active off, change context, and save.
Call msBundles.initialize in <head>. Without CSS and JS, data-msbundles-action="add-bundle" buttons stay plain markup.
Set selector on msCart, for example #ms-cart. After add the front end reloads the cart and redraws registered blocks only. Without selector you get a toast and stale HTML.
Under the product name in the cart chunk, call tplMsBundlesCartInfo. Without that hook the badge and “Remove bundle” will not appear. Example: Frontend.
The composition has no lines. Add products. Saving needs msbundles_save.
Likely msbundles_stock_behavior = hide. Switch to block or message, or restock required lines.
The msBundles plugin must listen to msOnGetCart. Open Elements → Plugins → msBundles → System Events and confirm the checkbox. The plugin fills legacy rows for the badge. The product key in the cart does not change.