This tutorial demonstrates how to add a taxon selector in a widget's designer view. You can select taxa from a flat taxonomy like Tags or a custom classification. For more information on Sitefinity CMS tag, see For developers: Flat taxonomies. For more information on custom classifications in Sitefinity CMS, see Create custom classifications.
The image below shows a flat taxon selector for the News widget:
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 you have to add a scripts array. The content of the file should be similar to:
"components" : ["sf-taxon-selector"]
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 code right before the definition of your custom view controller:
designerModule = angular.module(
In your DesignerView.<YourView>.cshtml file, place the following tag somewhere in the html:
To access the selected value, use the attributes sf-selected-item and sf-selected-item-id attributes. If you enabled multiple selection of items, you must use the sf-selected-items and sf-selected-ids attributes. For more information on multiple selection of items, see Feather: Using multiple content items selectors.
By default, the selector displays only tags, but you can modify it to work with a taxonomy of your choice. You do this by specifying a sf-taxonomy-id attribute, which acceps a scope property holding the GUID of the taxonomy:
To create the scope property, add the following code in your designer controller:
public string TaxonomyId
this.taxonomyId = value;
private string taxonomyId = "cb0f3a19-a211-48a7-88ec-77495c0f5374";
NOTE: You access the scope property using scope.properties.TaxonomyId.PropertyValue.
Back To Top