Select content
Shows ways to set up content selector properties to create links to other content, such as selecting a page in a page reference property.
Content selector properties create links between content items. Optimizely Content Management System (CMS) provides built-in selectors for common content types and supports custom selectors for specialized needs.
Built-in content selectors
Built-in selectors cover the most common content reference types. Apply a UIHint attribute to a ContentReference property to restrict the selector to a specific content type.
public virtual PageReference PageReference {
get;
set;
}
[UIHint(UIHint.Block)]
public virtual ContentReference BlockReference {
get;
set;
}
[UIHint(UIHint.Image)]
public virtual ContentReference ImageReference {
get;
set;
}
[UIHint(UIHint.Video)]
public virtual ContentReference VideoReference {
get;
set;
}
[UIHint(UIHint.MediaFile)]
public virtual ContentReference AnyMediaFileReference {
get;
set;
}
[UIHint(UIHint.BlockFolder)]
public virtual ContentReference BlockFolderReference {
get;
set;
}
[UIHint(UIHint.MediaFolder)]
public virtual ContentReference MediaFolderReference {
get;
set;
}Customize a selector
Custom selectors let you override the default repository root. The following example shows how to create a custom selector for a TeaserBlock content type.
[UIHint("teaserblock")]
public virtual ContentReference TeaserBlockReference {
get;
set;
}
[EditorDescriptorRegistration(TargetType = typeof (ContentReference), UIHint = "teaserblock")]
public class BlockReferenceEditorDescriptor: ContentReferenceEditorDescriptor<TeaserBlock> {
public override IEnumerable<ContentReference> Roots {
get {
//Sample to override the default root for the repository.
//Take the reference from configuration or site initialization and do not hard-code it.
return new ContentReference[] {
new ContentReference(90)
};
}
}
}Updated 17 days ago
