We do this on all our projects, create a helper:
public static class WidgetRestrictionHelper
{
private static readonly string[] ExcludedWidgets =
{
SystemComponentIdentifiers.RICH_TEXT_WIDGET_IDENTIFIER,
SystemComponentIdentifiers.FORM_WIDGET_IDENTIFIER,
};
public static IEnumerable<string> GetAllWidgetsIdentifiers()
{
return new ComponentDefinitionProvider<Kentico.PageBuilder.Web.Mvc.WidgetDefinition>()
.GetAll()
.Select(definition => definition.Identifier)
.Where(identifier => !ExcludedWidgets.Contains(identifier));
}
}
Then in your views:
<editable-area area-identifier="widgets" area-options-allowed-widgets="@WidgetRestrictionHelper.GetAllWidgetsIdentifiers()" />