# Matrix

Matrix Option is quite interesting and a bit unusual one. It adds a possibility to create a table of discrete values which can be chosen and used in product price calculation formula.

This is how the table looks like:

These are:

- values in columns
- values in rows
- template
- actual matrix table

This is how Matrix Option table's values are added:

First, add values for columns. They must be separated by this sign:

`|`

. Next, do the same for rows. Next click on *Generate*button and a table will be generated where you can add values for each cell.**Only numeric values can be added to cells!****As for values for rows and columns, they can be either words or numeric. Or even both!**These screenshots shows the proper syntax:

1) numeric values

2) numeric or words

3) numeric AND words

In this case a special syntax is used. You have to split option values by

`|`

and split a value for a formula and a value for displaying by `:`

(space;colon;space). **Again, as it is very important, use colon (**`:`

**) surrounded by spaces from both sides!**Why we need to split a value for a formula at all? Well, it is quite handy if you want to display a word or two as displaying name in the table, but still be able to use some numeric value in the formula. In case of choosing a cell within a column with the name like this

`100 : One Hundred`

"100" will be set to a special var of this option and "One Hundred" will be just displayed in the table and cart/order meta.We reviewed columns and rows values. So, what about the third setting called "template"? This setting is used for mastering a template which will be shown as this option value in cart/order meta. You can use two

*special template variables*here:`{{{row}}}`

and `{{{col}}}`

.{option_slug_col}

It holds a value of the chosen column

{option_slug_row}

It holds a value of the chosen row

Last modified 3yr ago