SaaS CMS has officially launched! Learn more now.

jonas.naslund@nansen.se
Feb 24, 2012
  2983
(2 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

Feb 24, 2012 04:35 PM

How about a screenshot?

Please login to comment.
Latest blogs
A day in the life of an Optimizely Developer - London Meetup 2024

Hello and welcome to another instalment of A Day In The Life Of An Optimizely Developer. Last night (11th July 2024) I was excited to have attended...

Graham Carr | Jul 16, 2024

Creating Custom Actors for Optimizely Forms

Optimizely Forms is a powerful tool for creating web forms for various purposes such as registrations, job applications, surveys, etc. By default,...

Nahid | Jul 16, 2024

Optimizely SaaS CMS Concepts and Terminologies

Whether you're a new user of Optimizely CMS or a veteran who have been through the evolution of it, the SaaS CMS is bringing some new concepts and...

Patrick Lam | Jul 15, 2024

How to have a link plugin with extra link id attribute in TinyMce

Introduce Optimizely CMS Editing is using TinyMce for editing rich-text content. We need to use this control a lot in CMS site for kind of WYSWYG...

Binh Nguyen Thi | Jul 13, 2024