A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

jonas.naslund@nansen.se
Feb 24, 2012
  2103
(0 votes)

Commerce manager - Language filtering

Having multiple clients that need to utilize the globalization support in EPi Commerce we jumped on the filtering solution Jacob Khan put together here. Rendering all the meta properties for each language makes the UI for editing an entry a bit confusing so being able to filter per language is great.

There is another issue and perhaps more critical one that comes with having a large amount of languages active for a catalog. With 15 - 20 languages active, each having a quite large amount of properties there's a huge performance issue. The view for editing the entry takes a couple of minutes to load.

Once we got the filtering addition up and running it looked great, however there was an issue with it . Once we've saved an entry, only the last saved language would have values in it's meta fields when retrieved using the catalogContext. All the values were saved OK in the database but they just weren't delivered through the API. The issue was the field "SerialiedData" which turned out to contain data only for the latest saved language. So Jenny and I sat down to see if we could figure out what

The reason for this was that when filtering the collection with languages to render property controls for, the same collections was used by the control

/apps/shared/cores/metadata/EditTab.ascx

for which languages to save as well.

What we ended up doing was keeping two collections, one for the ui rendering and then the original one for saving the meta data. Then modifying the EditTab.ascx so that it renders based on our filtered UI collection array and saves based on the originial one.

I’m attaching the code we’re using for the language filtering for reference.

 Installation:

To install 3 steps:

1. Add the EntryOveriewTab.ascx to
C:\EPiServer\eCommerceFramework\5.2\[Site Name]\Shared\Apps\Catalog\ExtensionTabs\
!Note the folder doesnt exist and needs to be created

2. Add the EditTab.ascx to 

C:\EPiServer\eCommerceFramework\5.2\[Site Name]\Shared\Apps\Core\ExtensionMetaData\.

3. To enable the feature the dll needs to be placed in the site bin of the commerce manager site

4. Add the new Product-Edit.xml and the Variation-Edit.xml
C:\EPiServer\eCommerceFramework\5.2\[Site Name]\Shared\Apps\Catalog\Config\View

\Variation-Edit.xml
and
\Product-Edit.xml

Download the code

Feb 24, 2012

Comments

Please login to comment.
Latest blogs
A day in the life of an Optimizely OMVP: Learning Optimizely Just Got Easier: Introducing the Optimizely Learning Centre

On the back of my last post about the Opti Graph Learning Centre, I am now happy to announce a revamped interactive learning platform that makes...

Graham Carr | Jan 31, 2026

Scheduled job for deleting content types and all related content

In my previous blog post which was about getting an overview of your sites content https://world.optimizely.com/blogs/Per-Nergard/Dates/2026/1/sche...

Per Nergård (MVP) | Jan 30, 2026

Working With Applications in Optimizely CMS 13

💡 Note:  The following content has been written based on Optimizely CMS 13 Preview 2 and may not accurately reflect the final release version. As...

Mark Stott | Jan 30, 2026

Experimentation at Speed Using Optimizely Opal and Web Experimentation

If you are working in experimentation, you will know that speed matters. The quicker you can go from idea to implementation, the faster you can...

Minesh Shah (Netcel) | Jan 30, 2026