Let customers fill their own gift basket
One basket, free contents, one price. Why variants are the wrong tool for this and how the configurator solves it instead.
A gift basket is not a product, it is a sequence of decisions. Which basket, what goes in, how it is wrapped. Model that with variants and you need a separate product for every conceivable combination - with five baskets, twenty fillings and three wrappings that is more variants than the shop will ever sell.
The configurator turns it around: one parent product with several choice groups underneath. Each group is called a stream. The customer works through them in order, the price adds up as they go, and exactly one combination ends up in the cart.
What it looks like in the shop
Four groups, three kinds of behaviour. The basket is a mandatory field without multiple selection - no basket, no cart. For the goods, multiple selection is allowed and Quantity selectable is switched on. The wrapping is optional and gets its own No Selection tile, whose text and image you can set freely.
What you configure for this
- Create a configurator on the parent product. It gets a name and a position on the product page - four fixed places are available, for instance “Below the image, above the description (full width)”.
- Create four streams. Each has an internal name and a visible title that can be translated.
- On the Products tab decide where the choices come from: a List of products or a Dynamic product group. With the group you only maintain the group from then on, never the configurator again.
- On the Options tab set the rules: mandatory field for the basket, multiple selection and quantity for the goods, No Selection for the wrapping.
- On the Display tab pick the look: as list, as slider or as gallery. For baskets with a photo, the gallery is the obvious choice.
What this saves day to day
When a new cheese arrives, it is maintained once as a product and added to the dynamic product group. From then on it appears in every configurator using that group - without anyone touching a single basket.
Limits worth knowing
The configurator does not replace a bill of materials in the warehouse. Whether the order arrives in your ERP as one line or as individual products is a separate decision in the settings - there the components can be stored as products of their own and the parent-child relation can be dissolved.
And: a group nothing can be chosen from is not a choice, it is a list. For a pure statement of contents (“This gift basket contains …”) there is the option Disable selection; the stream then only shows what is included.