Disclaimer: This website requires JavaScript to function properly. Some features may not work as expected. Please enable JavaScript in your browser settings for the best experience.

HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideLegal TermsGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

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.

Built-in content selectors

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

The following example, which you can customize, shows how to override the default root of the repository.

[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)
      };
    }
  }
}