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.