Category and search

The price in the category listing

A configurator has no price, it has a range. A number still has to appear in the category - and it has to be there fast.

A configurator has no price. It has a range. But a number has to appear in the category, otherwise the product looks broken - and it disappears entirely from sorting by price.

So the plugin knows two ways of determining the listing price. Both are deliberate decisions, not workarounds.

Setting “Price in listing” When it fits
from price - cheapest price The customer combines freely, and the cheapest possible combination is an honest entry point. Classic for gift baskets and accessory sets.
fixed price - pre-selected items The product has a real price, for instance a case sold at a fixed price. It requires a maintained preselection.

The fixed price has a fallback

Verbatim from the help text: “If the price of the preselected items is lower than the cheapest price (e.g. no preselection was made for a mandatory field), then the cheapest price is always displayed.” So the fixed price assumes a complete preselection - otherwise the “from” price quietly takes over again.

Why this needs a cache

Working out the cheapest price means walking through every group, respecting mandatory fields, honouring sets and applying rebates. For one product that is nothing. For a category page with twenty-four configurators it is a lot - and it happens again on every request.

That is why the plugin brings its own listing cache: a table holding the calculated prices. How long they are valid is a setting; the default is 480 minutes.

So the first visitor does not wait

A cache is empty on first use. That is exactly when the visitor who matters tends to arrive. There are two ways to fill it in advance:

As a scheduled task

Runs in the background with the shop scheduler. Set up once, it takes care of itself.

As a console command

Can be called during deployment, right after clearing the caches. The shop is warm again before it goes back online.

Price changes take a moment

A cached price is an old price. Change catalogue prices and the category shows the new value only once the configured time has elapsed - or after the cache has been warmed again. If you maintain prices daily, set the time shorter and warm up afterwards.

Without the classic storefront too

The configurator is not tied to the shipped frontend. Through the Store API you can query the structure of a configurator and put a finished combination into the cart. A frontend of your own can use the same logic without rebuilding it.

← Back to all examples

Frequently asked questions

Which price types exist for the listing?
Two: “from price - cheapest price” and “fixed price - pre-selected items”. The fixed price assumes a maintained preselection.
Why does this need a cache?
Because the cheapest price has to be calculated across every group, including mandatory fields, sets and rebates. On a category page with many configurators that adds up.
How do I avoid the first visitor waiting?
By warming the cache - either as a scheduled task in the background or as a console command during deployment.