London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Ha Bui
Apr 13, 2018
  3331
(13 votes)

Custom model for LinkItemCollection property

In many CMS project, we have many requirements that use LinkItemCollection property but with customize model (default is LinkItem).

Below is the way we do:

  1. Define property with type LinkItemColleciton in your content type like this:

Image Step1_Add_Property.JPG

2. Add new EditorDescriptor like this:

Image Step2_Add_Custom_Editor_Descriptor.JPG

3. Add new .js file for your custom model like this (match with the path in step 2):

Image Step3_Add_Custom_Item_Model.JPG

3. The last step is HACK way, because of item collection editor need the model above injected from the beginning (@EPiServer guy: should be improved by lazy load !?)

Image Last_Step.JPG

That all!

Apr 13, 2018

Comments

Dang Viet Hung
Dang Viet Hung Apr 16, 2018 04:31 AM

Nice article!

In the past, when our team have to custom LinkItemCollection, i often use builtin PropertyList property of EPIServer. Of cause, it take time than i think and hard to maintain:)

Thank a lot 

Alex Do
Alex Do Apr 16, 2018 05:07 AM

Great post, thank you for sharing. 

Thien
Thien Apr 16, 2018 05:12 AM

thanks for sharing.

Deepa Puranik
Deepa Puranik Jan 28, 2022 08:18 AM

Will this work for adding new field for link item collection?

Please login to comment.
Latest blogs
Meet the Newest OMVPs – Winter 2025 Cohort

We're excited to officially welcome the latest winter cohort of Optimizely Most Valuable Professionals (OMVPs) - a group of passionate tech...

Satata Satez | May 14, 2025

Helper method to encode query string properly

When using Url.ContentUrl() in Optimizely 12, encodes spaces as + in the query string. If you want to encode the spaces as %20, use the below helpe...

sunylcumar | May 13, 2025

Get ContentReference from GUID

Optimizely CMS 12 provides a Utility function to retrieve Content Reference from a Guid by ussing the below static method. var contentReference =...

sunylcumar | May 13, 2025

Creating a Dropdownlist in Optimizely CMS: Populate ISelectionFactory with values from another block's properties

Create a Block to hold selection options using EPiServer.Cms.Shell.UI.ObjectEditing.EditorDescriptors; using EPiServer.PlugIn; using EPiServer.Shel...

sunylcumar | May 12, 2025