Area: Episerver Commerce
Applies to versions: 10 and higher
Other versions:

Catalog content provider

Recommendations [hide]

This topic describes how to use content providers in Episerver Commerce. The content provider technology is a powerful integration method for extracting content from different sources and make it available on a website, providing an integrated user experience. 

In Episerver Commerce, you can make product catalog data available inside the Episerver CMS Edit view. Editors can drag-and-drop product content into content areas of a page or a block. They can also edit and manage the catalog content through an interface that has the same look and feel, and similar interaction patterns, as the CMS Edit view.

Classes in this topic are available in the following namespaces:

  • EPiServer.Commerce.Catalog
  • EPiServer.Commerce.Catalog.ContentTypes
  • EPiServer.Commerce.Catalog.Provider

Basic concepts

In Episerver Commerce, the Content Provider builds the integration between the catalog system and Episerver CMS. The ECF Catalog system consists of the following parts:

  • Catalog. Can contain either NodeContent or EntryContent; the biggest element in the Catalog system. 
  • NodeContent. Can be the child of a Catalog or another CatalogNode, and can be the parent of CatalogEntries or other CatalogNode(s).
  • EntryContent. Must be the child of a Catalog or CatalogNode, and cannot be the parent of anything else. You can move, copy, or link CatalogNode and CatalogEntry only within a Catalog.

The Commerce content root integrates the ECF Catalog system, which is the root content of the Episerver CMS catalog system. The Commerce content root can only include Catalog; CatalogNode and CatalogEntry are not permitted.

Use standard Episerver APIs to work with commerce content in CMS. The provider handles the mapping to and from ECF.

Load a product

Get children of a category

Determining the catalog content type

In the ECF catalog system, Catalog/Node/Entry are stored in different tables, which means they might end up having the same ID. To resolve this, the Commerce content provider reverses the two most significant bits (MSB) to determine which type of catalog content is being used.

When converting from a Commerce content ID to a content link, you add two more bits to the left of the ID. When converting from a content link back to a Commerce content ID, the two MSBs are cleared out. You can use the ReferenceConverter to perform these actions.

EntryContent can be one of four subclasses:

  • VariationContent
  • ProductContent
  • PackageContent
  • BundleContent

Related topics

Do you find this information helpful? Please log in to provide feedback.

Last updated: Oct 24, 2016

Recommendations [hide]