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

Ha Bui
Apr 13, 2018
  3696
(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
Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |

CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |

Beginner's Guide for Optimizely Backend Developers

Developing with Optimizely (formerly Episerver) requires more than just technical know‑how. It’s about respecting the editor’s perspective, ensurin...

MilosR | Dec 10, 2025