Before you start entering product data, it is important to understand the way this data is structured in Kartris.
There are three basic required elements of product data structure:

  • categories
  • products
  • versions
A product must have at least one version, and feature in at least one category –  so in this respect, all three elements of data structure are required for every product item you have.

Categories can be nested within other categories. Kartris is designed to allow unlimited category levels, though in order to manage even the biggest sites, five levels is probably more than enough.

unlimited category levels

Each category can have any number of parent categories, and you do not have to have the same number of category levels throughout the store. For example, below we see a product whose category can be reached via three navigation routes. One of them has two levels, one three and the other four. A product can also have multiple parent categories.

multiple parent categories

A category can at the same time be a parent both to other categories, and products. This provides more flexibility as you can nest general interest products in a category, while still subdividing other items into further subcategories.

A parent category can have subcats and products under it

There are several different types of products that can be created within Kartris.

This is the simplest form of product; it has a single version and for display purposes the two are merged into a single unit.

Single product

This is suitable for items that tend to have only one degree of variation. For example, ketchup that might come in several different bottle sizes (each with its own SKU / item code), or a book that comes in hardback, paperback and audiobook. Each version can have its own image, as well as the product having images too.

Multiple version product

This has a single base version and unlimited options can be applied to it. This is suitable for products with multiple types of variation such as size, style and colour. You can have as many options as required, and these can display as dropdown menus, radio buttons or a checkbox. It is therefore ideal for items such as computers that might be highly configurable, with a choice of hard-disks, processors, operating systems, RAM, and so on.

You can control whether a selection is required for a particular option. So for example, when configuring a computer, the RAM and processor selections would be required (because a computer must have both) but the secondary hard-disk size selection might be optional (if the component was not necessary required).

Options product

This is similar to an options product, and is created in the same way. But you can choose to create 'combinations'. The system will then create a unique record for each permutation of the options. This allows you to record stock level for each permutation separately, and have a different SKU / item code for each permutation.

The number of permutations will be limited to a few hundred for performance reasons. Remember that you only need to create a combinations product if you are stock tracking or need a unique SKU for each permutation - otherwise use an options product.

In some cases, none of the built-in Kartris product types will suit your purposes. A typical example would be a site producing bespoke curtains or signage. You would need the user to enter a height and width (which could for example be anything in mm between 30 and 3000). Options would be impractical as you'd need to create every option between 30 and 3000. Furthermore, height and width values would both be required to calculate the area of fabric needed, and then the price - but option prices can only apply to a single option selection.

Fortunately, if you're familiar with ASP.NET, it is possible to create virtually any type of product configurator and plug it into Kartris. This is done by creating a custom user control that contains all the logic needed to price and detail a product. Examples of the kind of thing that is possible with a custom user control:

  • A product configurator for signage, with choice of materials, prices/m2 and all other data pulled from an Excel spreadsheet
  • A product configurator for insurance policies which uses an XML web service to pull pricing from another remote web site
  • A product configurator which uses a formula to calculate the price of the item based on the various values entered
Kartris includes a couple of sample custom controls to illustrate the kind of coding required. These can be found within the default install of Kartris at this location:


To link a product to a custom control, you should create a single version product. The price can be zero, assuming that you will calculate this within your custom control. You then need to go to the 'object config' and enter the name of your new custom user control, which itself must be placed in the UserControls/Custom folder.

Powered by tomeCMS