Product configurators and personalisation
Engraving a name, choosing a dimension to the millimetre, composing an object from options that depend on each other: these look like product variants and aren’t. Knowing where the line runs avoids paying for unnecessary development — or skipping necessary work.
The line: how many combinations actually exist
A store’s variant system creates a reference for each combination of options. Three sizes and four colours give twelve references, each with its own stock and price. That is perfect as long as combinations are countable.
As soon as the customer enters a free value — text to engrave, a length in centimetres, a file to print — the number of combinations becomes infinite, and the variant system stops being suitable. Creating variants to cover every possible length produces an unmanageable catalogue, slow to display and impossible to maintain.
PrestaShop provides a customisable-fields mechanism on the product page, with text entry or file upload, which covers simple cases. WooCommerce accepts additional fields on the product added to the cart. Many engraving or personal-message needs stop there, and that is the right answer.
How I approach this kind of work
Development starts when options depend on one another, when the price is calculated from the input, or when a preview must be shown. Each of those three carries its own cost, and it helps to know which one really applies to you.
Dependencies between options need a rule set described once and applied everywhere: on display, when adding to the cart, and again when the order is validated. A check made only in the browser protects nothing, because an order can be built without going through the page.
A calculated price demands the same rigour, with one extra constraint: it must be recalculated server-side at order time, otherwise a change in the browser would be enough to alter the amount paid.
The visual preview is the most visible part and often the most expensive, because you must produce both an on-screen rendering and a file usable in production, at the right dimensions and resolution. Those are two different needs served by one interface.
Related pages
Frequently asked questions
How is stock handled for a personalisable product?
Does the personalisation appear on the order and invoice?
Can we retrieve files uploaded by customers?
Does a configurator slow the product page down?
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.