SaaS CMS has officially launched! Learn more now.

Quan Mai
Mar 27, 2019
  3881
(6 votes)

New feature in Commerce 13.1: StringDictionary support for catalog content

When we introduced strongly typed content type support for catalog items in Commerce 7.5, some of the metafield types were left unsupported. One of them was StringDictionary. While it's not the most common metafield type, it is used by several customers and we get the questions about supporting it from time to time.

We have had to say no each time, until now!

Upcoming Commerce 13.1 will add support for StringDictionary metafield type for catalog content. If you already have a StringDictionary with name "StringDict" (yeah, it's a bad name, but let's be generic) in your FashionProduct metaclass, you can map it with a strongly typed property in your FashionProduct content type like this:

[BackingType(typeof(PropertyStringDictionary))]
 public virtual IDictionary<string, string> StringDict { get; set; }

BackingType attribute is required to indicate that the underlying metafield is StringDictionary. If you don't have a StringDict metafield of type StringDictionary already, Commerce will automatically create and assign it to the metaclass for you.

The support is at API level, we don't support editing StringDictionary property in Catalog UI yet, and it's unlikely to happen. However if you have code in your website that load MetaObjects to read the StringDictionary metafields, update them and save it back, you can now simply do it in an entirely "content way". Now you can load, delete and update the items in StringDict directly using content APIs as other property types.

Commerce 13.1 is a few weeks away from release. 

Mar 27, 2019

Comments

Praful Jangid
Praful Jangid Jun 23, 2019 05:23 PM

This sounds very useful. Will this be render as a property list or what?

Please login to comment.
Latest blogs
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

Create your first demo site with Optimizely SaaS/Visual Builder

Hello everyone, We are very excited about the launch of our SaaS CMS and the new Visual Builder that comes with it. Since it is the first time you'...

Patrick Lam | Jul 11, 2024

Integrate a CMP workflow step with CMS

As you might know Optimizely has an integration where you can create and edit pages in the CMS directly from the CMP. One of the benefits of this i...

Marcus Hoffmann | Jul 10, 2024

GetNextSegment with empty Remaining causing fuzzes

Optimizely CMS offers you to create partial routers. This concept allows you display content differently depending on the routed content in the URL...

David Drouin-Prince | Jul 8, 2024 | Syndicated blog

Product Listing Page - using Graph

Optimizely Graph makes it possible to query your data in an advanced way, by using GraphQL. Querying data, using facets and search phrases, is very...

Jonas Bergqvist | Jul 5, 2024