HomeDev GuideRecipesAPI 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)
      };
    }
  }
}