
- MODX 3
- PHP 8.1
- miniShop3


The Product sets page is for set templates (a fixed list of recommended products + a type) and bulk application of those templates to categories. Per-product overrides use TVs — see TVs on the product card.
For UI zones and template types, see Product sets (interface).
namespace=ms3productsets, action=indexScreenshot placeholder — file
images/admin-menu.png: manager menu Components → Product sets.
Filenames and subjects: images/README.md.
Typically you will see:
name, type, related_product_ids, description, sortorder).Screenshot placeholder —
images/admin-page-overview.png: full page (list + form / tree panel).
Screenshot placeholder —
images/admin-template-list.png: template table only.
A template is a preset: a fixed type and product list that is copied into ms3_product_sets for each product in the chosen category when you Apply (see below).
| Field | What to enter |
|---|---|
name | Clear name for managers (stored as template_name on generated links). |
type | One of the admin types: buy_together, similar, popcorn, cart_suggestion, vip. Frontend logic for ms3ProductSets depends on matching type. Types like auto, auto_sales are snippet-only, not template types. |
related_product_ids | Comma-separated product IDs (e.g. 12,34,56) or picker selection if available. Order matters for output unless the snippet uses different sorting. |
description | Internal note for the team; not shown on the site. |
sortorder | Number for ordering templates in the admin list (lower first; exact sort depends on the UI). |
Save. The connector calls save_template; empty name or invalid related_product_ids will be rejected with an error.
Confirm the new row appears in the list.
Screenshot placeholder —
images/admin-template-form-create.png: create form with labelled fields (annotations on the image are fine).
Screenshot placeholder —
images/admin-product-picker.png: product selection if a separate modal/picker exists.
name, type, related_product_ids, description, sortorder.Important: this updates the row in ms3_product_set_templates. Links already applied to categories in ms3_product_sets are not rebuilt automatically — to refresh products for a whole category, run Apply to category again (use Replace for that type if needed).
Screenshot placeholder —
images/admin-template-form-edit.png: edit form with sample data.
The UI can remove a template from the list. That deletes the template record; existing product links with that template_name in ms3_product_sets do not disappear by themselves. To bulk-remove such links for a category, use Unbind (below).
Screenshot placeholder — optional
images/admin-template-delete-confirm.pngif a confirmation dialog exists.
msProduct resources are usually included.replace=true: for products in that branch, existing links of that type are removed first, then new ones are created from the template. Without replace, new links are added alongside existing ones (watch for unwanted duplicates).Result: rows in ms3_product_sets with template_name set to the template name.
Screenshot placeholder —
images/admin-apply-category.png: template selected, category tree, replace checkbox, Apply.
type + template_name).Screenshot placeholder —
images/admin-unbind.png: unbind UI with category + template.
Supported TVs:
ms3productsets_buy_togetherms3productsets_similarms3productsets_popcornms3productsets_cart_suggestionms3productsets_vipOn product save, TVs sync into ms3_product_sets.
ms3ProductSets using the same type as the template/TV.save_template, apply_template, unbind_template