/// <summary> /// Registers actions to render user menus in widget zones. /// </summary> private async Task ProcessUserMenusAsync() { var menusInfo = await _menuStorage.GetUserMenuInfosAsync(); foreach (var info in menusInfo) { var widget = new ComponentWidgetInvoker("Menu", new { name = info.SystemName, template = info.Template }) { Order = info.DisplayOrder }; _widgetProvider.RegisterWidget(info.WidgetZones, widget); } }