Product Configurator Matrix: Price from Width and Height
Description
Highlights
About the Extension
Add-on plugin – requires the Product Configurator (SwpProductOptionsSix). This plugin works exclusively as an extension of the base plugin Product Configurator (SwpProductOptionsSix). Without the installed, active, and separately purchased base plugin, this plugin has no function.
A blind at 800 by 1200 millimetres costs you something different from one at 2000 by 2400. Your price list has known that for years. Your shop has not. So you build variants until the product overview becomes unusable, or you let customers send an enquiry and quote the price by phone.
The problem
Made to measure does not fit into a variant grid. Thirty widths and twenty-five heights make 750 combinations, all of which have to be created, priced and touched again at every price review. That is manual work across hundreds of records for a single product.
Then there is the quiet annoyance. A customer types in a size you cannot actually produce. The order goes through. You notice when it reaches production, and then you are the one making the phone call.
The solution
You enter your price table once, in the shape it already has on your desk. Widths sit acrossthe top as columns, heights down the side as rows, your prices in the cells between them. In the shop the customer enters two numbers, the plugin looks up the matching cell and puts exactly that price into the cart. One table, no variant tree.
What's in it for you
One table instead of hundreds of variants. You maintain prices the way you already think about them, in rows and columns. A price review then means overwriting values in a grid rather than clicking through records.
Customers can only order what you can build. The smallest and largest value of the matrix become the limits of the input field on the product page. Anything outside them never reaches the cart.
Brackets instead of exact matches. You do not need a row per millimetre. An entered value falls into the first bracket whose upper limit fits: 87 centimetres lands in the column up to 90.
The price is right in the cart, not first on the invoice. The plugin calculates when the product is added and respects the gross or net setting of your sales channel. In the cart line the customer sees both values entered.
The matrix price fits into your formulas. The formula editor of the product configurator offers matrix column and matrix row as building blocks. That lets you combine the table value with other options instead of running two separate pricing logics.
You decide per sales channel. Active in your trade channel, off in the consumer one, with no need to uninstall anything.
How the plugin works
In the administration you will find a Matrix tab under Product options. There you create a new price table with "Add matrix", give it a name and enter columns and rows as a comma separated list, for example 10,20,30. The prices themselves go straight into the cells of the grid.
Next you link the table to an option group of your configurator. Set the field type of the group to Matrix and pick the price table you want.
On the product page two number fields appear. As soon as both are filled and the customer adds the product to the cart, the plugin reads the price from the intersection. If a value is missing or sits above the table, a clear note takes the place of the price on that line, such as "Not enough values entered" or "Value too large".
Typical use cases
Blinds and shading. Roller blinds, pleated blinds and insect screens priced by width and height. One table per product range and you are done.
Cut from the roll. Tarpaulin, pond liner, vinyl or flooring priced by length and width, with wider brackets at the top end of the range.
Print and signage. Format against print run: A2 at 500 copies costs less per unit than at 50. The bracket lives in the columns instead of in five separate products.
Worktops and cut-to-size panels. Kitchen worktops or shelf boards where the cut drives the price, not the specification.
Technical facts for your IT team
The plugin runs on Shopware 6.7 and PHP 8.2 or newer.
Add-on plugin – requires the product configurator (swp/productoptions-six) from version 6.7.12 and extends it rather than replacing it.
It creates a table of its own for the price tables and adds one column to the option group table of the configurator. Original Shopware tables stay untouched.
The plugin sends no data to external servers. It processes no personal data; the only records it stores are your price tables. The measurements a customer enters are held as text on the cart line and are escaped when rendered.
At runtime all price tables of a cart or a product page are loaded together in a single query rather than one by one per line. The price is produced during cart calculation, so there is no extra call in the checkout.
Rights can be delegated through roles: viewing, editing, creating and deleting are separate privileges. On uninstall your choice of "Keep user data" applies. Only if you clear it does the plugin remove its price tables, the additional column and its settings.
To be honest
This plugin is an extension, not a configurator in its own right. Without the swp/productoptions-six product configurator it does nothing. It also works with exactly two dimensions, not three, and both have to be numbers. For combinations of colour and material you are better served by the standard options of the configurator.
If your prices already exist as a table in a folder, the way into the shop is short. Try it on one product before you convert your whole range.
Legal notice
We accept no liability for legal requirements. Please check the use of this plugin with a qualified legal advisor.
Details
- Available: English, German
- Latest update: 25 August 2026
- Publication date: 24 March 2025
- Version: 6.7.3
- Category: Product Configuration
Resources
Reviews (0)
About the Extension Partner
BuI Hinsche GmbH
Partner Status
-
Shopware
Bronze Partner -
Shopware
Premium Extension Partner
Details
- Ø-Rating: 4.3
- Partner since: 2014
- Extensions: 91
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Quickly