Product Groups

Product groups are containers for groups of products located in a particular shop (Figure 1.1).

Figure 1.1 Product Groups are located within a shop in your Product Catalog

With product groups, you can organize products in any way you’d like – in groups or subgroups, and with access to a number of functions to make your life easier.

In Dynamicweb, products and product groups are very rich objects, with loads of properties, settings, options and abilities – and things can get pretty complicated.

Selected features are:

  • Set default values for a number of product details on the group level, and save time when working with products
  • Create product categories and product category fields, and have products located in the product group inherit the values
  • Add media and other information to a product group, and render the information on the frontend

To create a product group:

  • Open the Ecommerce area and fold out the Product catalog node 
  • Right-click a shop or a product group (to create a subgroup)
  • Click New group in the context menu (Figure 2.1)
Figure 2.1 Creating a product group

This gives you access to the product group settings described in the next section.

Right-clicking an existing product group gives you access to more management options (Figure 2.2):

  • Createeditattach or delete groups and subgroups
  • Create, attach or sort products in the group
  • Set backend permissions for the product group - read more here.
Figure 2.2 the right-click menu gives you access to a number of useful actions for product groups

Attaching and detaching product groups

Attaching a group to another group (or to a shop) makes the group, and all products in it, a subset of the parent group. Groups can be attached to more than one group/shop at the time.

Deleting an attached group will delete all instances of it, and all products located in the group, unless they are also members of other groups. Deleting a group with subgroups will also delete the subgroups.

To move a group, simply drag and drop it from its location in the shop tree to the desired location. This will open a menu, where you can choose between moving the group (and thus removing it from the original destination) or attaching it (Figure 4.2).

Similarly, attaching a product to a group does not copy or remove it from its original group, but creates a group relation. To remove an attached product from a group, remove the group-relation from the product details - if deleted, it will be deleted in all product groups.

When creating or editing a product group, you have access to the product group settings.

In the following sections, you can read about the basic configuration options you have for product groups.

The more advanced options and settings available from the product group ribbon bar are described later in this article.

The first thing you will see is the basic product group settings (Figure 3.1).

Figure 3.1 The most basic product group settings
  • Provide a name and number for the group. The product group name will be used in the frontend product catalog, and the product group number may be relevant for integration purposes, or simply as an identifier if you have two groups with the same frontend name.
  • Select a product category fieldset, which will be added to all products in this group
  • Check inherit fields from parent to inherit product category fields from the parent group

Product categories and product category fields can be created from Settings > Ecommerce > Product catalog > Product Categories.

Product Group IDs

By default, you cannot edit the ID field.

The ID is a unique identifier given to all products, groups and shops and it is used, for instance, when integrating Dynamicweb Ecommerce with third party solutions.

If you import your products from elsewhere, please make sure you only use alphanumeric characters in the ID, as special characters will cause erratic behavior.

Below the basic settings, you will see the media settings (Figure 4.1).

Figure 4.1 The product group media settings

With the media settings you can:

  • Attach a small and large image to the product group in frontend
  • Select an icon for the product group, which will be displayed on the list of groups instead of the standard folder icon in backend

You can configure default images for product groups by going to Settings > Ecommerce > Advanced Configuration > Images (read more here).

Read more about image patterns and the image pattern hierarchy in this article.

With the meta-information fields (Figure 5.1), you can create meta-information about the product group.

Meta information is used by search engines to index searches, and can have an effect on how your website is ranked.

Figure 5.1 The meta information fields

You can specify:

  • A title, one or more keywords, and a description
  • A canonical URL, for search engine indexing purposes. The page displaying the product group will then be regarded as an instance of the canonical URL.
  • A user friendly URL for the group (if empty, the system will use the product group name)
  • A primary page for the product group (if you use it in several shops, and across several product catalogs).

With the default values settings (Figure 6.1), you can define default values for products created under this group.

Figure 6.1 Set default values for new product here - and force those values onto your products by using the green checkmarks

Setting these can optimize your workflow when creating multiple products with the same manufacturer, VAT group or stock status.

  • To create Manufacturer values go to Settings > Ecommerce >Product Catalog > Manufacturers.
  • To create VAT group values go to Settings > Ecommerce > Internationalization > VAT groups.
  • To create Stock Status values go to Settings > Ecommerce > Orders > Stock States.

Using this feature does not preclude you from using other values.

The green checkmarks are for making this selection apply to all products in the groupe.g. forcing the value onto existing products. You have to do this separately for each shop language.

Depending on your setup, you may have access to one of more types of custom fields on your product group details:

  • Product group fields, which are custom fields which occur on all product groups on a solution
  • Product category fields, which can be created an selectively attached to product groups. Products created in that group will then inherit the fields (and field values).

Read more about these types of custom fields below.

If you click the Description button, your view will switch from the default Details view (where you provide the product group details) to the description view (Figure 8.1).

Figure 8.1 The description view

The description view basically gives you access to a rich text editor, where you can provide a description for the product group.

From the product group ribbon bar (Figure 9.1), you also have access to a number of more advanced settings and options for a product group.

Most of these areas are described more thoroughly elsewhere in the manual, but here is a quick overview.

Figure 9.1 The ribbon bar gives you access to a lot of advanced functionality

The Location button opens an overview of the relationship between this group and other groups and shops (Figure 10.1).

Figure 10.1 The location settings

From the location overview you can:

  • See the parent group (if any) and parent shop of the product group
  • Enable or disable product category inheritance from parent groups – read more below.
  • Select which parent group is the primary parent group (if any). 

Order line fields give you the opportunity to provide extra information about products during the order process - they can be inherited from a parent group or attached to a group specifically.

Read about creating order line fields in the order details article.

To add order line fields to the products in a product group, click the order line fields button on the product group ribbon bar (Figure 11.1).

Figure 11.1 The Order line fields button

You can then attach order line fields to the product group – and access you the order line fields view (Figure 11.2).

Figure 11.2 The order line fields view

From here you can view the order line fields which are attached to the group, and you can activate order line field inheritance. Inherited order line fields are shown below non-inherited order line fields.

Regular order line fields can be removed using the red cross, whereas inherited fields must be removed on the parent group (or inheritance turned off).

If any of your order discounts are set to be assignable from product catalog, you can add them to a product group using the discounts-button (Figure 12.1).

Figure 12.1 Add discounts to a product group by clicking the Discounts button

To add the discount:

  • Click the arrow-icon on the discount button and select Manage including discounts or Manage excluding discounts.
  • Select the discount you want to add for the product group
  • Click save and close

The discount is then added to the discount overview for the product group (Figure 12.2).

Figure 12.2 The discounts overview

From the product group ribbon (Figure 13.1), you have access to the navigation options for the product group.

Figure 13.1 The navigation options allow you to control how a product group behaves in regard to navigation

With the navigation options, you can control whether a product group should appear in the menu, in the sitemap, and if it should be clickable.

To enable or disable a setting, simply click the appropriate button.

From the product group ribbon (Figure 14.1), you have access to the New products options for the product group.

Figure 14.1 The new product settings lets you set default behavior for products created in the product group

The New products settings allow you to create default behavior settings, and are only applicable when creating new products in the product group.

You can:

  • View or add one or more default related groups for new products created in this group – products created within this group are then automatically added to all the related groups.
  • View or add any default related products for new products created in this group.

Related product groups and products can be viewed and edited from the product details of a product - read more here.

From the product group ribbon (Figure 15.1), you have access to the Language and localization settings for the product group.

Figure 15.1 The language and delocalization buttons
  • The Language dropdown shows the current working language. When you create a new group it is created in the default language and in the working language.
  • With the Delocalize button you can remove the language-specific versions of a group, i.e. non-default languages. To do so, change the language to go to the localized instance of the group and click delocalize.

Delocalizing groups in the standard language

Note that you cannot delocalize standard language versions of a group – they must be deleted instead. Deleting a product group in the default language, however, also deletes all products in the product group. Treat with caution!

Product group fields are custom fields, which you can create, and which will then be available on all product groups.

When creating or editing a product group, you will then have access to the custom fields.

Product group fields on a product group could look like Figure 16.1.

Figure 16.1 Product group fields are available on all product grops on your solution

To create a product group field:

  • Go to Settings > Ecommerce > Product catalog > Product group fields
  • Click New field in the toolbar (Figure 24.2). (If editing an existing field, simply click it)
Figure 16.2 Click the New Field button to create a new field
  • This opens the Product group field window (Figure 16.3)
Figure 16.3 Creating a new product group field

From here, you must:

  • Specify a name and a system name for the field
  • Provide a template tag-value for the field. Use this value in your templates to render the field content on the frontend. Read more about template tags for product groups below.
  • Select a field type for the field – see table below
  • Decide if the field requires validation or not (i.e. if it is required or not)

The field types available to you are:

Field type

Function

Text (5-255)

Standard text field where you can type between 5 and 255 characters

Editor

Inserts a WYSIWYG editor where you write a text using various text editing tools.

Long text

Inserts a text box where you can type several thousand characters.

Checkbox

Inserts a checkbox

Date

Inserts a drop down where a date can be selected

Date/time

Inserts a drop down where a date and time can be selected

Integer

Inserts a field where integers can be entered

Decimal number

Inserts a field where decimal numbers can be entered

Link

Inserts a field where you can enter a link to another web page or a file in your File Manager

File Manager

Inserts a field where you can select a file from your File Manager

List box

Inserts a list of options that can be selected/deselected. This option comes with extra settings, see below.

List box options

If you create a list box field, you will have extra options available to you (Figure 17.2).

You must:

  • Choose between list box types, radio button, checkbox, dropdown, and multiselect, in the Display as dropdown
  • Specify a name and a value for each of the list box options
  • Choose whether you want each option to be selected by default or not
Figure 17.2 Creating new list box opions

Product categories are a way for you to quickly add a set of custom fields to products within a particular product group. Technically, a product category is a label with a set of related product category fields.

So, if you sell two kinds of products – clothes and bikes for instance – you could create two product categories with those name.

  • For the Clothes category you could then create a field for washing instructions, the color, the fabric used, etc.
  • For the Bikes category you could then create a field for the frame material, the number of gears, the type of breaks on the model, etc.

Once created, product categories may be attached to a Product group – all products in the group will then have the category fields available.

To create a product category:

  • Go to Settings > Ecommerce > Product catalog > Product categories
  • Click New in the toolbar to open the edit product category view (Figure 18.1))
Figure 18.1 The product category view

Here you must:

  • Name the category
  • Add a number of product category fields with a name and a field type
  • (Optional) set the field to Hide if field has no value and/or Do not render – see note below

The field types available to you are:

Field type

Function

Text (5-255)

Standard text field where you can type between 5 and 255 characters

Editor

Inserts a WYSIWYG editor where you write a text using various text editing tools.

Long text

Inserts a text box where you can type several thousand characters.

Checkbox

Inserts a checkbox

Date

Inserts a drop down where a date can be selected

Date/time

Inserts a drop down where a date and time can be selected

Integer

Inserts a field where integers can be entered

Decimal number

Inserts a field where decimal numbers can be entered

Link

Inserts a field where you can enter a link to another web page or a file in your File Manager

File Manager

Inserts a field where you can select a file from your File Manager

List box

Inserts a list of options that can be selected/deselected.

Use the pencil-icon to open field settings where you can define how to render the list, create list options, etc.

Product Properties & Do not render

A product property is a custom field which is only rendered if it has a value. This is ideal for integration scenarios where secondary product data is non-hierarchal and/or unorganized. Please be aware, that using product properties is somewhat ressource intensive, and may lead to performance issues. Checking the product property checkbox for a product category simply checks the Hide if field has no value checkbox for all product category fields. This checkbox can also be set on individual fields.

The Do not render checkbox makes it possible to mark a field as an administrative field only – when it is checked, this field will be left out of the loops which render product category fields in frontend.

When you attach a product category to a product group, all the products in the group will be extended with the product category fields.

Figure 19.1 Attach a product category to a group by using the Product category dropdown in the settings area

To attach a product category to a group:

  • Right-click a product group and click edit group
  • Use the product category dropdown to select the category (if switching from one category to another, please note that existing values will be lost)
  • Click OK to the warning
  • Save the group and confirm again

This accomplishes two things:

  • All products in this group now have the product category fields available
  • The product group now has a section for settin default values for the fields (Figure 19.2)
Figure 19.2 Default product category field values

Default values may be overridden or restored on the individual product instance.

You can control which product category fields are inherited from groups to subgroups under the Location button in the ribbon (Figure 20.1).

Figure 20.1 You can inherit product category fields and values from parent groups

Here you can select the parent group(s) from which to inherit category fields. If several groups are selected, the available fields will be a merge of all the parent group fields. 

To enable or disable product category inheritance:

  • Edit the group where you want to enable inherit categories
  • Click the Location button in the ribbon
  • Click the red cross for the groups whose categories should be inherited
  • Click the green checkmark for the groups whose categories should not be inherited
  • Save the group

Once you have parent groups defined, you can see the inherited product category fields when editing a product (Figure 20.3).

Use the arrows-icon to restore category field values to the default defined on the parent group.

Greyed out values are inherited values.

Figure 20.3 You can fill out your own values when editing a product - or use the default inherited values. Click the blue icon to restore the default value.

Database

These are the database tables relevant for product groups and related features inDynamicweb:

These are the tables associated with Product Groups:

EcomGroups

Contains data on EcomGroups. Identity is defined by GroupID and GroupLanguageID.

Field name Data type Length
GroupId nvarchar 255
GroupLanguageId nvarchar 50
GroupName nvarchar 255
GroupNumber nvarchar 255
GroupPageIDRel int 4
GroupSmallImage nvarchar 255
GroupLargeImage nvarchar 255
GroupDescription nvarchar Max
GroupAssortment bit 1
GroupIcon nvarchar 255
GroupNavigationShowInMenu bit 1
GroupNavigationShowInSiteMap bit 1
GroupNavigationClickable bit 1
GroupInheritOrderLineFields bit 1
ProductCategoryId nvarchar 50
GroupRelatedGroups nvarchar Max
GroupRelatedProducts nvarchar Max
GroupManufacturerId nvarchar 50
GroupVatGroupId nvarchar 50
GroupProductType int 4
GroupStockGroupId nvarchar 50
GroupMetaTitle nvarchar 255
GroupMetaKeywords nvarchar Max
GroupMetaDescription nvarchar Max
GroupMetaUrl nvarchar Max
GroupFilterPagedQueryMode int 4
GroupMetaPrimaryPage nvarchar 255
GroupMetaCanonical nvarchar 255
GroupAutoId int 4
GroupInheritCategoryFieldsFromParent bit 1
GroupMetaUrlIgnoreParent bit 1

EcomGroupRelations

Defines tree structure for groups.

Field name Data type Length
GroupRelationsGroupId nvarchar 255
GroupRelationsParentId nvarchar 255
GroupRelationsSorting int 4
GroupRelationsIsPrimary bit 1
GroupRelationsAutoId int 4
GroupRelationsInheritCategories bit 1

EcomGroupProductRelation

Keeps track of what groups (GroupProductRelationGroupID) a product (GroupProductRelationProductID) is a member of.

Field name Data type Length
GroupProductRelationGroupId nvarchar 255
GroupProductRelationProductId nvarchar 30
GroupProductRelationSorting int 4
GroupProductRelationIsPrimary bit 1
GroupProductRelationAutoId int 4

EcomProductGroupField

Contains product group field definitions from Settings -> Ecom -> Product catalog -> Product group fields.

Field name Data type Length
ProductGroupFieldId nvarchar 50
ProductGroupFieldName nvarchar 255
ProductGroupFieldSystemName nvarchar 255
ProductGroupFieldTemplateName nvarchar 255
ProductGroupFieldTypeId int 4
ProductGroupFieldTypeName nvarchar 255
ProductGroupFieldLocked bit 1
ProductGroupFieldSort int 4
ProductGroupFieldListPresentationType int 4
ProductGroupFieldAutoId int 4
ProductGroupFieldRequired bit 1

These are the tables associated with Product Categories:

EcomProductCategory

Contains Ecom product categories as defined in Settings -> Ecom -> Product catalog -> Product categories.

Field name Data type Length
CategoryId nvarchar 50
CategoryAutoId int 4
CategoryProductProperties bit 1

EcomProductCategoryTranslation

Contains translated data for a product category (CategoryTranslationCategoryId) in different languages (CategoryTranslationLanguageId).

Field name Data type Length
CategoryTranslationCategoryId nvarchar 50
CategoryTranslationLanguageId nvarchar 50
CategoryTranslationCategoryName nvarchar 255
CategoryTranslationAutoId int 4

EcomProductCategoryField

Contains individual field definitions for product categories (FieldCategoryId).

Field name Data type Length
FieldId nvarchar 255
FieldCategoryId nvarchar 50
FieldTemplateTag nvarchar 255
FieldType int 4
FieldDefaultValue nvarchar Max
FieldPresentationType nvarchar 50
FieldSortOrder int 4
FieldAutoId int 4
FieldDoNotRender bit 1
FieldHideEmpty bit 1

EcomProductCategoryFieldTranslation

Contains translated field definitions (FieldTranslationFieldId) for categories (FieldTranslationFieldCategoryId) in different languages (FieldTranslationLanguageId).

Field name Data type Length
FieldTranslationFieldId nvarchar 255
FieldTranslationFieldCategoryId nvarchar 50
FieldTranslationLanguageId nvarchar 50
FieldTranslationFieldLabel nvarchar 255
FieldTranslationFieldOptions nvarchar Max
FieldTranslationAutoId int 4

EcomProductCategoryFieldGroupValue

Contains category field (FieldValueFieldID) values set on product groups (FieldValueGroupId, FieldValueGroupLanguageId).

Field name Data type Length
FieldValueFieldId nvarchar 255
FieldValueFieldCategoryId nvarchar 50
FieldValueGroupId nvarchar 255
FieldValueGroupLanguageId nvarchar 50
FieldValueValue nvarchar Max

EcomProductCategoryFieldValue

Contains category field (FieldValueFieldID) values set on products (FieldValueProductID, FieldValueProductVariantID, FieldValueProductLanguageID).

Field name Data type Length
FieldValueFieldId nvarchar 255
FieldValueFieldCategoryId nvarchar 50
FieldValueProductId nvarchar 30
FieldValueProductVariantId nvarchar 255
FieldValueProductLanguageId nvarchar 50
FieldValueValue nvarchar Max
FieldValueAutoId int 4
FieldValueSortOrder int 4