Configure custom widgets to support content locations
To configure your custom widget to support content locations, you must mark the widget with the following property:
[SitefinityWidget(IsContentLocation = true)]
GITHUB EXAMPLE: You can see an example of how to use this property in Sitefinity GitHub Repository » ContentListViewComponent.cs.
To support the content locations functionality, in the widget, you should also provide the following properties via the Entity object :
|
Property |
Description |
|
|
Holds the selected items. |
|
|
Determines the behavior of the widget. It can be one of the following:
|
|
|
Determines how to open the detail mode of content items inside the content widget:
|
|
|
When you have chosen to open the detail mode of an item in another existing page, this property gets the details page. |
The following sample demonstrates how to use the above properties:
// SelectedItems property
[Content]
public MixedContentContext SelectedItems { get; set; }
// ContentViewDisplayMode propery
public ContentViewDisplayMode ContentViewDisplayMode { get; set; }
// DetailPageSelectionMode property
[DataType(customDataType: KnownFieldTypes.RadioChoice)]
public DetailPageSelectionMode DetailPageMode { get; set; }
// DetailPage property
[Content(Type = KnownContentTypes.Pages, AllowMultipleItemsSelection = false)]
[ConditionalVisibility("{\"conditions\":[{\"fieldName\":\"DetailPageMode\",\"operator\":\"Equals\",\"value\":\"ExistingPage\"}],\"inline\":\"true\"}")]
public MixedContentContext DetailPage { get; set; }