Product Catalog app
The Product Catalog app is a paragraph app which is used to publish products to frontend (Figure 1.1).
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!
Selecting Products
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.
The following app modes are available:
App mode |
Output |
Comments |
Product |
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 |
Display-settings
If you publish more than one product you have access to the extended display settings (Figure 3.1).
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 (alt. images)
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.
Image patterns at the product catalog level are being deprecated - read more here.
Templates
The Templates section (Figure 5.1) controls which templates are used to render product catalog data in frontend.
Type |
Used for |
Comments |
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 regulat 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 |
Used with the old Ecommerce search feature, not indexing. |
Compare |
Product comparison |
|
No products found |
Search results with no hits |
Used with the old Ecommerce search feature, not indexing. |
Additional settings
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.
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
Advanced display settings
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
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).
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:
A Catalog Publishing example:
Following the Catalog Publishing link will take you to a list view (Figure 9.3).
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.
Limitations
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.
Query string operations
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
Switching between product list templates
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. mypage.com/Store.aspx?View=MyAlternativeTemplate.cshtml – 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.
Sorting products in a product list
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:
-
yourpage.com/Store.aspx?Sortby=Number&SortOrder=ASC
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
Parameter-based filtering
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:
Operator |
Function |
0 |
LIKE |
1 |
NOT LIKE |
2 |
<> (not) |
3 |
= (exact match) |
4 |
< (less than) |
5 |
> (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.