How bundles appear in the shop
Customers meet a bundle in three places: in the product list, on the product page and in the
cart.
Product list
How does a bundle appear in lists and categories?
A badge marks products that have a bundle. The bundle itself is not rendered in lists,
only on the product page.
The badge is controlled by the setting Show
badge. Its text can be changed through the snippet dvsn-bundle.listing.badge.
Product page
Where on the product page does the bundle sit?
The position is chosen per bundle: in the product description across the full width, or
compactly at the buy box below the add-to-cart button. Both positions can be used on one product at the
same time.
Several bundles in the same position appear below one another in a shared block with a
heading.
For the product description position, the product layout has to contain the standard
element for description and reviews.
In the buy box position, the setting Position
of the details decides whether the detail list sits above or below the buttons.
How is the bundle block built up?
From top to bottom: product slider, price block, buttons, detail list.
The slider shows one tile per component with:
- An image – which one is controlled by the setting Show product image.
- A quantity badge – such as "2x". For a quantity of one it can be hidden.
- A plus sign – between the tiles, along with previous and next controls.
The names of the components link to their product pages in a new tab.
Which prices does the block show?
The sum of the individual prices as a strike-through price, the saving, and the price
for the package.
The saving is shown differently per discount type: as a percentage, as a fixed amount
or, for a fixed package price, as a calculated difference.
If the bundle contains a variant product whose variants differ in price, both prices
are shown as from-prices.
Each component shows its individual price, and products with a unit of measure also
show their base price.
All prices are recalculated by a storefront script on every change, without a server
request. The preview calculates with the list price of the components; where tiered prices apply, the price
in the cart is the one that counts.
If the discount is zero, the package acts as a recommendation without a price
advantage.
How does the customer deselect components?
Only a selectable bundle shows checkboxes, and it shows them twice: on every slider tile
and on every row of the detail list. The two stay in sync with each other.
The product the bundle is attached to has no visible checkbox and cannot be
deselected.
Deselected components are greyed out and drop out of the calculation. Both price lines
go down, including the strike-through price.
A complete bundle has no checkboxes at all.
How does the customer pick a variant inside the bundle?
If a component is stored as a variant parent, the detail list shows a select field with
every variant and its price.
The order is controlled by the setting Sort
variants.
If the product has a main variant, it is preselected. Otherwise the field sits on a
disabled placeholder and the customer has to choose.
Components without variants are passed along invisibly.
What happens when the button is clicked?
It puts the complete package into the cart and opens the cart drawer.
It does not do so, and opens the detail list with a note instead, if a variant choice is
still open or if every selectable component of a selectable bundle has been deselected.
Cart
How does a bundle sit in the cart?
As a container with the components expanded below it and its own clearly labelled
discount line.
- Container name
- product name with a prefix, "Bundle - " out of the box
- Discount line name
- "Bundle Rabatt" out of the box
- Product numbers
- from the templates in the configuration
- Quantity
- changed on the container, components scale with it
- Removing
- only the whole bundle
If the stock of a component no longer suffices, the quantity is reduced or the bundle
is removed, each with a message in the cart.
The labels come from the snippets
dvsn-bundle.line-item-factory.bundle-prefix-label and
dvsn-bundle.line-item-factory.discount-label and can be changed in the administration.
Frequently asked