This content is archived. See latest version here

Last updated: Mar 31 2014

Introduction

This section provides an overview of different options when importing catalog data between e-commerce sites, including the addition of meta data in multiple languages.

Classes referred to here are available in the following namespaces:

Import scenarios

Catalog data from another EPiServer Commerce site to your EPiServer Commerce site

If you are moving a catalog from another EPiServer Commerce site into your EPiServer Commerce site, there is a catalog import and export feature that uses XML to make this task straightforward.

Catalog data from a non-EPiServer Commerce site to your EPiServer Commerce site

Option 1

If you are moving data from a non-EPiServer Commerce site into an EPiServer Commerce site, you can use the catalog CSV import feature. The CSV import requires the end user to map fields from the non-EPiServer Commerce catalog system to matching catalog meta data fields in the target EPiServer Commerce site. This can be problematic because catalog system meta data fields may differ from one implementation to the next, depending on how the catalog system is configured.

Option 2

The only other way to import data is for the developer to write a utility to import the data from the other system into EPiServer Commerce using the Catalog APIs. You would need to write code to iterate over your collection of non-EPiServer Commerce catalog entries.

For each non-EPiServer Commerce entry, map the appropriate data fields from the other system to the corresponding properties of the EPiServer Commerce entry you create. If you choose to write this tool, make sure to copy all of the config files and references from your EPiServer Commerce project to the new utility project.

It is NOT advisable to try importing directly into the catalog system database unless you have a full understanding of how the database works.

Importing multiple language meta data

The example below describes how to create meta data for categories and products in multiple languages for a product catalog.

Example: creating multi language meta data using the MetaHelper.SetMetaFieldValue method

C#
MetaDataContext MDContext = CatalogContext.MetaDataContext;

    MDContext.UseCurrentUICulture = false;
    //string 
    foreach (string language in Languages)
    {
            MDContext.Language = language;

            MetaHelper.SetMetaFieldValue(metaobj)...

            metaObj.AcceptChanges(MDContext);
    }
    MDContext.UseCurrentUICulture = true;

Do you have feedback on this documentation? Send an email to documentation@episerver.com. For development-related questions and discussions, refer to our Forums on https://world.episerver.com/forum/