Product Catalog app

The Product Catalog app is a paragraph app which is used to publish products to frontend (Figure 1.1).

Figure 1.1 A product list published using the Product Catalog app

As such, it is used on all Ecommerce solutions to:

  • Select a subset of products to publish
  • Configure display-related settings such as the number of product per page
  • Control how the product data is rendered using various templates

Plus a couple of other, more marginal, configuration options.

Read more below!

As stated above, the Product Catalog app is used to select a subset of products, and then publish them in frontend. Select an app mode use the Show-settings (Figure 2.1) and configure the settings related to it.

Figure 2.1 The Show settings

The following app modes are available:

App mode




A single product

Select the product using the Display setting

Product groups

All products located under one or more product groups

Use the Groups settings to select all product groups under a particular shop – or manually select some groups to include.


The Include subgroups checkbox makes it possible to include/exclude products in subgroups.

Products (context)

The products in a particular context

Currently only used for back-in-stock notifications


The products matching a particular index query

Use Index settings to select facet groups, and to override default parameter values and sort orders

Search for editors

The products matching a partilcular Search for editors configuration

Use Search for Editors settings to select an index & a configuration

If you publish more than one product you have access to the extended display settings (Figure 3.1).

Figure 3.1 The display-settings

With the display settings you can customize:

  • How many products you want to display on each catalog page
  • How many teaser-text characters you want to render
  • Which property to sort the products by, and in which order - if publishing products using new indexing, these settings override the sorting created on the query and above.

If you want to make sure no products are listed twice check the remove duplicate products checkbox – this is normally a good idea, but if you have a lot of legacy code on your solution, you may be removing them in other ways.

Image patterns are a way to avoid having to manually configure product media for each products. Instead, you specify an image folder and a pattern by which the product catalog should assign pictures to products.

To use image patterns enable use alt. images and configure the alt. images settings (Figure 4.1). Read about image patterns here.

Figure 4.1 Image patterns

Image patterns at the product catalog level are being deprecated - read more here.

The Templates section (Figure 5.1) controls which templates are used to render product catalog data in frontend.

Figure 5.1 The templates section lets you select which templates to use to render data in frontend


Used for



Rendering a list of products


List feed

Rendering a list of products in a feed format

Used when feed=true is added to the URL. Defaults to the regulat List template if no list feed template is selected.


Rendering a single product


Product feed

Rendering a single product in feed format

Used when feed=true is added to the URL. Defaults to the regular Product template if no product feed template is selected.


Rendering a search box

Used with the old Ecommerce search feature, not indexing.


Product comparison


No products found

Search results with no hits

Used with the old Ecommerce search feature, not indexing.

The additional settings area (Figure 6.1) is a hotpot of various settings, primarily for those using multiple product catalogs on the same page, for display caching, and for SEO purposes. 

Figure 6.1 Additional settings

From the additional settings area, you can:

  • Check Ignore URL parameters box to have the app ignore any parameters, e.g. GROUPID in the query string
    • This is primarily used when using multiple product catalogs on the same page (where you want only one of them to react to query string parameters=)
  • Enable using the first page as a canonical URL
    • Online shops can often have identical or similar content that is accessible through multiple parameter variations of the same URL. Most search engines will try to cluster such duplicate content into one search result and then try to guess which version of the URL is the best to represent the entire cluster of results. By enabling Use first page in list as canonical URL, you basically tell search engines that the first page in a list is the URL that you prefer to be returned by search engines. This is useful for search engine optimization purposes
  • Specify a different paragraph to display the product catalog on than the one you are editing. The other paragraph also needs to have a product catalog app attached. If you use this feature, you may want to disallow product details on this instance of the app by checking the Do not allow product details (404) checkbox. The details will, of course, be shown by the other instance of the product catalog app, and by disallowing product details for this one, you can prevent Google from indexing duplicate content
  • Choose if you want to retrieve your My Lists based on User ID or customer number

From the advanced settings in Settings, you can control how products are displayed across all your product catalog apps.

Read more about the advanced settings in this article.

Catalog publishing is a feature, which allows users to add products to a catalog, which can then be generated as a pdf. This can be useful if you want to create and print/email customer-specific offers – or allow your customers to do the same thing.

To use catalog publishing check the catalog publishing checkbox to access the templates (Figure 8.1).

Figure 8.1 The catalog publishing templates

In this section, you can select (and modify) the templates used to generate your catalog pdf.

You have separate templates for:

  • The first and last page of the pdf
  • Regular (content) pages
  • The header and footer used on content pages
  • Email and email form templates

The Catalog Publishing templates are located in the Templates\eCom\CatalogPublishing folder in your File Archive.

In order to use catalog publishing, you must modify your templates (e.g. your product list & product templates) to render an Add to catalog and Catalog Publishing button inside the product loop.

An Add to catalog example:

if (!string.IsNullOrWhiteSpace(GetString("Ecom:CatalogPublishing.UseCatalogPublishing"))) { <a href='/default.aspx?id=@product.GetValue("Ecom:Product:Page.ID")&productID=@product.GetValue("Ecom:Product.ID")&CatalogPublishingcmd=addtocatalog' >Add to catalog</a> }

A Catalog Publishing example:

if (!string.IsNullOrWhiteSpace(GetString("Ecom:CatalogPublishing.UseCatalogPublishing"))) { <div style="clear: both; width: 100%;padding-bottom:5px; text-align: right;"> <a href='/default.aspx?CatalogPublishingcmd=preview' >Catalog Publishing</a> </div> }

Following the Catalog Publishing link will take you to a list view (Figure 9.3).

Figure 9.3 The catalog publishing list

From the catalog publishing list, you can:

  • Remove one or more products
  • Change the price and number of each product
  • Click the Create Catalog button to create the pdf-catalog – you will be presented with two new links: a download link and an email link.


The following limitations and quirks exist for Catalog Publishing:

  • Headers and footers cannot be resized
  • You cannot control the number of pages in the PrintPublishingRegularPage template
  • You cannot put more than one page before the content pages with selected products. Insert blank pages after first page, or before last.
  • First and last pages cannot have numbers.

Dynamicweb natively supports a number of querystring operations for manipulating the product catalog.

You can:

  • Change between different product list templates
  • Sort products in a product list by various values

To change between product list templates, you can use the View parameter in your query string, provided that your templates names are suffixed correctly, for instance:

  • MyTemplate.cshtml
  • MyTemplate_tiles.cshtml
  • MyTemplate_list.cshtml
  • MyTemplate_whateveryoulike.cshtml

If you select the MyTemplate.cshtml template as your product list template, you can then change between that and your suffixed templates by specifying View=suffix in the query string:

Changing between two product list templates through the query string is intended to support changing between e.g. a list view and a tiles view when viewing a product catalog, but you can of course use it any way you want.

You can also reference the full template name, e.g. – in that way, you are not limited by the default template chosen in the Product Catalog app, but can select any template in your /Templates/eCom/ProductList folder.

Per default, products published are sorted by the sort order and field you select under the product catalog display settings, but you can add sorting criteria to the query string to sort your products further.

To do so, simply use the SortBy parameter with one of the following values:

  • Name
  • Number
  • Price
  • Created
  • Updated
  • ShortDescription
  • LongDescription
  • ImageSmall
  • ImageMedium
  • ImageLarge
  • Link1
  • Link2
  • UnitStock
  • Weight
  • Volume
  • Active

You can specify a sort order by using the SortOrder parameter, with the values ASC (for ascending) or DESC (for descending), for instance:


We also support sorting on multiple parameters in query string - eg. SortBy=Name,Price&SortOrder=asc,desc or using simplified syntax: SortBy=Name,-Price with the '-' before Price denoting desc

You can filter products in a product list by adding the parameter eComSearch to your query string, followed by one or more filtering parameters.

The following query finds all products manufactured by a company called ‘Dimmers Inc’:


The following parameters are available to you and can be used to filter your product catalog:

  • LanguageID
  • ProductPrice
  • ProductName
  • ProductNumber
  • ProductWeight
  • ProductVolume
  • ProductStock
  • ProductType
  • Manufacturer
  • GroupID

You can combine a parameter with a matching operator statement to further control your filter result. To do so, simply match the parameter with a corresponding parameter with a _type suffix and an operator value matching your needs:








<> (not)


= (exact match)


< (less than)


> (greater than)


For instance, the following query string will find all products with a price less than 500:


Filtering a product list using the eComSearch parameter is outdated and supported for legacy reasons – and we strongly recommend that you use the indexing engine to index your products and create the parameters you need to do the same thing – but quicker, easier and with more flexibility.


There is no database specific information for this subject.