One accessory package for four hundred products.
Anyone creating a separate bundle by hand for every article gives up at thirty. For the case where the same package should hang off many products there is a second route — and it uses tools Shopware brings anyway.
Maintained on the product or assigned centrally.
The first route is the obvious one: you open a product and create a bundle there. The second reverses the direction — you create the bundle once and then assign it to many products, through three custom fields the plugin creates on installation.
The difference is in the upkeep. A package that hangs off four hundred products you change once — not four hundred times. The price for that is the limit of three centrally assigned bundles per product.
Because they are custom fields, Shopware can set them in bulk.
That is the actual trick: the assignment is an ordinary custom field on the product. So every tool Shopware has for custom fields applies — without the plugin having to bring anything of its own.
| Tool | Suited to | What you do there |
|---|---|---|
| Mass edit | a selection in the product list | Filter products, select them, set the custom field |
| Product import | four-digit product counts | A column with the bundle assignment in the import file |
| Admin API | recurring runs from a third-party system | Write the custom field per product |
In the administration the three fields are called Bundle I, Bundle II and Bundle III and sit on the product in a group of their own.
Two things to know beforehand.
- Three centrally assigned bundles per product. There are exactly three fields. If you need more, create the further packages straight on the product — there the number is not limited.
- The assignment lives in the system language. An hourly task removes bundle assignments from every other language version of a product. Set the custom fields in a second language and you will find them empty an hour later at the latest.
The second point is not an oversight but deliberate: a bundle is an object, not a text. If the assignment existed per language, the same product would have two different packages in two languages — with two different prices in the same cart. So the task tidies up rather than allowing that.
In practice: always set the assignment in your shop's system language. In an import that is the column without a language marker.
Common questions
Can I assign one bundle to many products at once?
Yes. You create the bundle once and assign it through three custom fields on the product — Bundle I, II and III. Because they are ordinary custom fields, mass edit, product import and the Admin API all work for it without an extra module.
How many bundles can I assign centrally?
Three per product, because there are three fields. Bundles created straight on the product are not limited in number; the two routes can be mixed.
Does it work through the product import?
Yes. The assignment is a custom field and can therefore be passed as a column in the import file. For four-digit product counts that is the fastest route.
Why do my assignments disappear again?
Because they were set in a different language version. An hourly task removes bundle assignments from every language except the system language. Set them in the system language and they stay.
Why is there no assignment per language?
Because a bundle is an object with a price and components, not a translatable text. A language-dependent assignment would lead to two different packages on the same product — and therefore two prices in the same cart.
Do I change a central bundle for all products at once?
Yes, that is the point of this route. The bundle exists once; every change takes effect wherever it is assigned.
In detail in the manual
Other ways to put a package together.
Fixed bundle
Every component is set. The customer takes the package as you put it together, or not at all.
Read on → Barbecue season setSelectable bundle
The customer removes what they already own, and the price follows along immediately.
Read on → Skincare set for 99 eurosFixed package price
The package costs a round figure, no matter what the individual items add up to.
Read on →Both routes in the demo shop.
A bundle straight on the product and one assigned to many through custom fields.