Every colour is its own product. Choosing takes one click.
Group separate products, and each product page gets a switcher: colours, materials, models. The customer clicks a variant and goes to its page, while every variant keeps its own URL, price, stock, photos and SEO.
- OpenCart 3.x
- ocStore 3
- PHP 7.4 · 8.1 · 8.2 · 8.3
- No core edits
Essential hoodie Graphite
1 490 UAHOne page for every colour — or a page for each?
A standard “Colour” option hides every variant behind one URL. Options + keeps each variant a separate product and simply links them together.
- One URL and one SEO title for every colour
- The same photos whatever colour is chosen
- Reviews mixed across all variants
- Its own URL, meta tags and search listing for every colour
- Its own photos, price, SKU and stock
- Reviews belong to a specific variant
- Size and other options work as usual, alongside
Swatches, buttons or a list — pick what suits your store
These are the same settings as in the module. Play with them and click a variant in the example.
- a #RRGGBB colour
- a separate image, e.g. a fabric photo
- the product’s main photo
The current product is always shown, even when it’s out of stock: try picking “Berry” and hiding sold-out ones.
The group is built right in the product form
- The “Options +” tab in the form of any product in the group. The current one is already listed as “This product”.
- Search by name or SKU adds variants. A product from another group is marked “in group …” and can’t be added.
- Label, swatch and order for every row. Labels and title in every store language.
- “Save” the product — the group is saved with it and appears on the pages of all its products.
The switcher knows what to show the customer
The module checks every product in the group when the page is shown. Nothing has to be removed from the group by hand when a product sells out or isn’t released yet.
- GraphiteCurrent product always shown
- Sky blueEnabled, in stock shown
- SandStatus “Disabled” not shown
- SageAvailability date not reached yet not shown
- BerryOut of stock dimmed or hidden
- MilkNot added to this store not shown
- If only one product is left visible, the block isn’t shown: there’s nothing to choose from.
- One database query per product page — with a group or without.
- Multi-store: each store shows only its own products.
A few CSS variables change colours and shape
The module’s styles are built on variables. Override them for .options-plus in your theme’s CSS — no need to edit the module, and updates won’t undo anything.
No spot for it in your theme’s template? Turn off “Show on the product page” and place the module in the Product layout via “Design → Layouts”.
Colours, fabrics, storage, volume — anything sold “in variants”
A group is any set of products the customer chooses between. Click the variants: the page, price and address change.
The switcher style is chosen in the module settings for the whole store. Here different styles sit side by side so they’re easy to compare.
How the module looks in the store and in the admin
Real screenshots from a test store on ocStore 3 with the default theme. The products are demo ones.
Up and running in 5 steps
- Upload options_plus.ocmod.zip in “Extensions → Installer”.
- Open “Extensions → Modifications” and click “Refresh”.
- In “Extensions → Modules” install “Options +”, then click “Edit”.
- Enter the licence key from your account and click “Activate” — the key is bound to your domain.
- Turn on “Status”, save, and build your first group on the “Options +” tab of a product.
- Version
- v1.0.0
- Updated
- 27.08.2026
- Compatibility
- OpenCart 3.0.3.x · ocStore 3
- PHP
- 7.4 · 8.1 · 8.2 · 8.3
- Requires
- ionCube Loader
- Format
- ocmod.zip
- License
- One domain
Updates
-
v1.0.0 Current
- First release
Questions and answers
A standard option is a choice inside one product with one URL. With Options +, every variant is a separate product with its own page, price, stock, photos and SEO, and the module shows a switcher between them. Standard options such as size keep working alongside.
OpenCart 3.0.3.x or ocStore 3.0.x, PHP 7.4, 8.1, 8.2 or 8.3 with ionCube Loader, the openssl extension and outbound HTTPS access to licence.airprojects.pro. Without the Loader the module says so in the admin, and the storefront keeps working as usual — just without the variant block.
No, a product belongs to one group only. In the search, a product from another group is marked “in group …” and can’t be added.
Depending on the setting: the variant is dimmed and crossed out with an “out of stock” note, or hidden altogether. The product whose page the customer is on is always shown.
The modification inserts the block above the options in the default theme’s product template. If your theme has no such spot, turn off “Show on the product page” and add the module to the Product layout via “Design → Layouts”. Colours and shape are set with the module’s CSS variables.
Groups stay in the database and come back after reinstalling. To delete them together with the module, turn on “Delete data when uninstalling”.
The module checks the key roughly every 12 hours. If the server is temporarily unavailable, it keeps working on the last confirmed answer, but no longer than 30 days. The storefront never breaks either way.
Show customers every variant — without losing a single URL
One purchase — a license for your domain, the archive and updates in your account.
- Compatibility OpenCart 3.0.3.x · ocStore 3
- PHP 7.4 · 8.1 · 8.2 · 8.3
- License key right after payment
- Archive and updates in your account
- Secure payment via WayForPay
More AirProjects modules
Full catalogAirNotifier
New orders, status changes, reviews and contact form requests — straight to Telegram.
Air SeoGen
Meta tags, H1 and SEO URLs from templates for the whole catalogue — with a live preview, emoji and Open Graph.
Nova Poshta
A Nova Poshta branch, parcel locker or courier — the customer picks it in seconds right at checkout.


