The following tutorial demonstrates how to add a Multisite page selector in your widget's designer. You use this selector to select different pages, based on the sites and available languages defined in your Sitefinity CMS application. For more information on basic page selector, see Feather: Page selector.
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 the following:
"components" : ["sf-multisite-page-selector"]
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 code right before the definition of your custom view controller:
designerModule = angular.module(
In your DesignerView.<YourView>.cshtml file, place the following tag where you want to render the Multisite page selector:
NOTE: The dropdown menu for the culture is automatically populated with the cultures available for the currently selected site. If Sitefinity CMS is in single site mode, the site dropdown menu is not rendered.
To access the selected value, you use the sf-selected-item and the sf-selected-item-id attributes. The values of the attributes are scope properties that you must add in your widgets controller:
public object SelectedItem
public string SelectedId
To specify which site and culture are selected by default, use the sf-site and sf-culture attributes. The attribute values are updated as soon as the user selects a different site or culture from the dropdown menus.
Back To Top