Feather: Hierarchical taxon selector
This tutorial demonstrates how to add a hierarchical taxon selector in a widget's designer view. You can select taxa from a hierarchical taxonomy like Categories or a custom classification of your choice. For more information about categories in Sitefinity CMS, see For developers: Hierarchical taxonomies. For more information on custom classifications in Sitefinity CMS, see Create custom classifications.
Add Hierarchical taxon selectors
-
Feather automatically registers the scripts you need and, if no other designer view with explicitly set priority exists, Feather sets your designer view priority 1. In case you need to have full control over the scripts that are loaded or you want to set custom priority, you can alternatively create your own
DesignerView.YourView.json
file. If you have a JSON
file that matches the convention (even if empty), this automatic scripts registration will not occur. In your DesignerView.<YourView>.json
file, add a scripts
array. The content of the file should be similar to:
NOTE: For more information on the scripts that you must load, see Feather: List of selectors scripts reference.
-
Feather automatically finds all AngularJS modules you rely on and references the widget designer to them. In case you rely on custom AngularJS modules or have logic that needs an AngularJS controller, you can create your own
designerview-<yourview>.js
file. If you have a .js
file that matches the convention (even if empty), this automatic modules referencing will not occur. In your designerview-<yourview>.js
file, place the following snippet right before the definition of your custom view controller:
-
In your
DesignerView.<YourView>.cshtml
place the following element anywhere in the HTML code:
To access the selected value, you use the sf-selected-item
and sf-selected-item-id
attributes. If multiple selection of items is enabled, you must use the sf-selected-items
and sf-selected-ids
attributes. For more information on multiple selection of items, see Feather: Use multiple content items selectors.
By default, the selector shows only categories but you can modify it to work with a hierarchical taxonomy of your choice. You do this by specifying a sf-taxonomy-id
attribute that accepts a scope property holding the GUID of the taxonomy. You can specify the dialog header using the sf-dialog-header
attribute. By default, the dialog header is Select but if you set sf-dialog-header="Department"
, then the header is Select Department.
To create the scope property, add the following code in the widget designer's controller:
You can access the scope property using scope.properties.TaxonomyId.PropertyValue. In the code above, the GUID the Departments taxonomy.