Table of Contents

Product Catalog

Render product data in frontend using template tags

The Product Catalog app is a paragraph app used to publish product data to frontend. As this app is an older version, we refer to our Product Catalog for ViewModel app, which functions in a similar way but uses ViewModels for added speed and code-hinting support.

The app makes it possible 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

The settings for configuring the Product Catalog app are introduced in this article alongside simple template solutions.

Modes

Select an app mode for how you select which product(s) to show:

Setting Use Comment
Index The products matching a particular index query Use Index settings to select facet groups, and to override default parameter values and sort orders
Product Shows 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
Product (context) Not supported in DW10
Search for editors Not supported in DW10

Display settings

You also have the possibility to configure the display settings if you publish more than one product:

Setting Use
Products per page Number of products to display on each catalog page
Teaser text length Number of characters to display
Sort by Which property to sort the products by
Sort order What order to sort in
Remove duplicate products Make sure no products are listed twice

Templates

Next you need to specify what templates to use:

Setting Use Comment
List 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 regular List template if no list feed template is selected
Product 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
Search Rendering a search box Not supported in DW10
Compare Product comparison
No products found Search results with no hits Not supported in DW10

Catalog publishing

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, where you can select (and modify) the templates used to generate your catalog pdf.

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>
}
Note

The following limitations 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.

Additional settings

A collection of various settings are grouped in the additional settings-area:

Setting Use Comment
Ignore URL parameters 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 optimized product retrieval
Enable display caching
Display caching expiration (minutes)
Use first page in list as 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
Show on paragraph 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
Do not allow product detail (404)
Retrieve my lists based on Retrieve My Lists based on User ID or customer number

Spell check

The Spell Check-section is used to implement Did you mean-suggestions when users search for a product but spells incorrectly.

The Spell Check applies the Lucene SpellChecker against an index document field and – based on the available terms in that field for all documents – find the closest matches using several distance filters. Check out our guide for implementing Did you mean-suggestions here.

Dynamic facets

The app allows using dynamic facets which are facets generated based on query string parameters. There are two kinds:

  • Semi-dynamic facets
  • Fully dynamic facets

Semi-dynamic facets are used when you specify your facets as always in the repository - and maybe group them in a number of seperate facet definitions for ease of administration. Then on the product group, you can specify which facets is active in that context - lets say you have maybe 100 facets in total, but only 10 is useful for a given group - those are the ones you activate. Now the facet calculation for that group will only be conducted for those 10 facets – and not the 100 – making rendering much faster.

Fully dynamic facets are facets which are not predefined anywhere, but are 100% generated on the fly based on query string parameters. This feature is usually only relevant for solutions with a (perceived) need for e.g. 500+ different facets and no clear product hierarchy in the product catalog. This type of facet can be activated on a product catalog app when it is set to index mode

To top