
ms3ProductSets
Dynamic product recommendations for MiniShop3. Manual links, auto rules, manager templates
- MODX 3
- PHP 8.1
- miniShop3


ms3ProductSets adds recommendation blocks to MiniShop3: “Frequently bought together”, similar products, VIP sets, cart suggestions. Manual links come first (TVs on the product and manager templates). When they are empty and auto_recommendation is 1, auto logic for the type runs. vip does not read that setting.
buy_together, similar, popcorn, cart_suggestion, auto_sales, vip, auto. Aliases also-bought / cross-sell use buy_together auto logic. custom uses auto. See set types.ms3_product_sets, TVs ms3productsets_*, bulk template apply to categories in the manager.auto_sales) when auto_recommendation=1. VIP fallback from ms3productsets.vip_set_* does not read that setting. See system settings.ms3ProductSets. Optional AJAX via get_set and window.ms3ProductSets.render(). See API and integration.ms3productsets.cache_lifetime. 0 disables cache. See system settings.ms3_form. productsets.js hits MiniShop3 Web API first. Connector add_to_cart is the fallback. “Add whole set” is data-add-set.mspsLexiconScript (window.mspsLexicon, window.mspsConfig).| Requirement | Version |
|---|---|
| MODX Revolution | 3.0+ |
| PHP | 8.1+ |
| MySQL | 5.7+ / MariaDB 10.3+ |
Encrypted transport needs provider modstore.pro/extras. Without it install fails with Package provider not found.
Steps, requirements, and ModStore download: Quick start.
Load mspsLexiconScript, productsets.css and productsets.js. Add ms3ProductSets to the product or landing template. Limits and cache: system settings, namespace ms3productsets.
Storefront wiring: Frontend setup.
| Term | Description |
|---|---|
| Set | Recommended product list for a context (resource_id, type, category) |
| Set type | Logic mode: buy_together, similar, vip, etc. |
| Manual links | Rows in ms3_product_sets (and/or TV values) defined by a manager |
| Set template | Row in ms3_product_set_templates for bulk apply to categories |
| Auto recommendations | ID selection without manual links (category, orders, catalog) |
| VIP set | Type vip. Without manual links, fallback from vip_set_{set_id} |