OpenCart conditional options
Ask the question only when it applies
A customer picks a wooden frame and the stain options appear. They pick aluminium and the stain disappears. They pick a motherboard and the memory sizes it will not take vanish from the list. It happens as they click, with no page reload, and the same rules are enforced on the server when they add to the cart. The hiding is a courtesy; the server check is the mechanism.
A rule is one sentence, and you can read it back
WHEN Frame material is Aluminium THEN hide the option Wood stain: a row of dropdowns, joined with AND, as many conditions on one rule as you need. Where you need an or, write two rules with the same target. The three verbs are show, hide and require, and naming an option in a show rule is what makes it hidden until the configuration calls for it.
Enforced on the server, in OpenCart’s own words
The hiding is the convenience. The mechanism is OpenCart’s own option validation, which the rules are applied to on the storefront, through its API and in the admin order editor alike, so a stale page, a hand-built form or a second tab cannot buy a combination you do not sell. The refusal message is OpenCart’s, not ours.
It builds on OpenCart’s options rather than replacing them
Every answer your customer gives is an ordinary OpenCart option answer. The price a value adds, the stock it holds, and the way the choice prints on the order page, the invoice and the order emails all keep working, because none of them were changed. There is no second store of option data and nothing of ours against an order.
Written where the product already is, with no theme edit
A Configurator tab on OpenCart’s own product form, saved by that form’s own Save button. There is no second screen and no second save, and a rule can name an option you added to the form a second ago and have not saved yet. On the storefront it rides the page your theme already renders. Copying a product copies its rules; deleting one deletes them.
Translation published, not claimed
Which of our strings a named native speaker has actually read is published per extension and per language, and anything unreviewed ships as English rather than as a blank or a raw identifier.
Everything it refuses to do sits on one page. Limits and guarantees says that there is no live preview (configuration is a form, with no 2D composite, no 3D view and no artwork to upload), that rules belong to one product and there is no reusable template, so a second product gets its rules by copying the product or by Copy rules from, as a copy and not a link, that nothing here changes a price, since an option value adds the fixed amount OpenCart's own Option tab holds, that hiding controls availability and keeps nothing secret, because every option and value attached to the product is in the page source whether a rule reveals it or not, that a customer with JavaScript off is shown every option (and is still refused the combination when they add to the cart), that rules do not reach cart lines already added and nothing is re-checked at checkout, which is what OpenCart does with its own option validation too, and that a rule leaving a required option with nothing selectable still saves: the Configurator tab warns about the dead ends it can see when the form opens, and stock that runs out after that gets no warning. Worth reading before you buy.
Questions people ask before buying
-
Can OpenCart product options depend on each other?
- Not on their own. Product Configurator adds rules that show, hide or require an option (or a single value of it) as the customer picks, so the stain options appear for a wooden frame and disappear for aluminium.
-
Is a rule still enforced if somebody bypasses the page?
- Yes. The same rules run again on the server when the product is added to the cart, so hiding an option is the courtesy rather than the whole mechanism.
-
Does it work with OpenCart 4?
- Every Kyvero extension is built for OpenCart 4.x. Each one declares the lowest release it will install on and refuses to install below it, and its documentation lists the releases a full install-and-upgrade pass was run against.
-
Do I get the source code?
- Yes. An extension is PHP on your own server: readable, not obfuscated, and with no remote licence check to fail. Your copy is yours to modify and to keep backed up.
-
Who answers when something goes wrong?
- A developer, usually the one who wrote the extension. There are two official routes, the support portal and the support address, and both arrive in the same place.
Also for OpenCart
Merchants who run this usually want one of these
Import/export
Bulk imports for OpenCart that show you every change before they make it, and can be rolled back afterwards.
What it does OpenCart 4.xProduct Search
Finds more of the right products: every word has to match, brands and departments count, synonyms and misspellings are forgiven, and you pin what leads. It also reports what shoppers typed and what came back empty.
What it does