How to export a certain language product feed file from a multiple language site

  • Updated
Description

To reduce the feed file size, developers may want to send only one language to Product Recommendations.

Potential Solution

The product feed file uses Location attribute to implement language or marketing. Please refer to https://docs.developers.optimizely.com/personalization/v1.1.0-personalization/docs/location-attribute.

At present, we do not have out of the box feature to export only one language in the feed file. To implement something like this a developer needs to customize the export feed code referring to https://docs.developers.optimizely.com/commerce/v13.0.0-commerce-cloud/docs/customizing-exported-product-information.

below is our source code in EPiServer.Personalization.Commerce source that generate the XML feed file.

public SyndicationFeed GetCatalogFeed(IEnumerable contentLinks, string scope)

{

var catalog = _catalogFeedContentLoader.GetCatalog(scope);

var feed = new SyndicationFeed

{

Title = new TextSyndicationContent("Catalog Feed"),

Items = catalog != null ? GetSyndicationItems(catalog, contentLinks, scope).ToList() : Enumerable.Empty<SyndicationItem>(),

};

return feed;
}

But SyndicationFeed is an internal class and cannot be overridden. So the developer has to write their own code to achieve that goal. As far as the feed file applies to

feed format https://docs.developers.optimizely.com/personalization/v1.1.0-personalization/docs/feed-format

feed content https://docs.developers.optimizely.com/personalization/v1.1.0-personalization/docs/rss-feed-content

 

Additional comments.