Skip to content

Products

You are viewing the next version (v6.7) of the documentation.
Click here to switch to the stable version (v6.6), or use the version switcher on the left to navigate between versions.

Products

Products are sellable entities (physical and digital products) within your shop.

Depending on your setup, Shopware can easily handle thousands of products. However, an upsurge in the product quantity (in millions) needs some tweaks for robust running of the environment as it depends on factors like the number of categories, sales channels, product properties, etc. Every product added to your shop can be made available on one or more sales channels.

Let's delve into a more detailed understanding of products using the example of garments:

  • Product details: General information about a Product.
TitleProduct IdManufacturerPrices....
Levis Ocean HoodieSW1001CA40...
  • Product properties: Product properties encapsulates property groups and options. They are displayed in a table on product details page, in listings, or even be used for filtering. A product can have arbitrarily many property group options.
Property GroupProperty Group Options
SizeS, M, L, XL, etc
ColorRed, Blue, Green, Black
MaterialLeather, Cotton, Jeans
  • Category: Products in Shopware are organized in categories. It is a grouping of products based on characteristics, marketing or search concerns. Categories are represented as a hierarchical tree to form a navigation menu. A product can be contained in multiple categories.

Look at the below condensed overview of relationships between entities - products, categories, options, and property groups are interconnected in the database schema.

  • Product variant: A sellable product. Products are a self-referencing entity, which is interpreted as a parent-child relationship. Similarly, product variants are also generally mapped to products. This mechanism is used to model variants. This also provides inheritance between field values from parent products to child products.

It is also useful to attach some additional properties to differentiate product variants next to the field inheritance. For that reason, it is critical to understand the difference between properties and options:

Properties are used to model facts about a product, but usually, different product variants share these facts. We can refer to properties as non variant defining. They could be useful to represent the following information:

  • Product Series / Collection
  • Washing Instructions
  • Manufacturing country

Opposed to that options are considered variant defining, as they are the facts that differ from one product variant to another. Such as

  • Shirt Size
  • Color
  • Container volume

It is important to understand the difference between those two because both provide a relation between the product and the property group option entity. However only one constitutes to product variants.

VariantProductCategoryProduct GroupProduct Group Option
Variant 1Levis Ocean HoodieHoodie & SweatersColorRed
Variant 2Levis Ocean HoodieHoodie & SweatersColorBlack

Configurator

When a variant product is loaded for a Store API-scoped request, Shopware assembles a configurator object which includes all different property groups and the corresponding variants. This way client applications, such as the Storefront or Composable Frontends can display the different variant options of the product.

The following section is a detailed understanding on category.