private void AddSubMenu(Item item, MenuItem menu) { if (item != null) { var args = new GetMenuModelArgs(); args.SiteSettings = _siteSettings; args.SitecoreItem = item; GetMenuModelPipeline.Run(args); var menuItem = args.MenuItem; args.SitecoreItem = null; args.MenuItem = null; if (menuItem == null) { return; } menu.SubMenuItems.Add(menuItem); if (item.Children != null && item.Children.Count > 0) { foreach (var child in item.Children.ToArray()) { AddSubMenu(child, menuItem); } } } }
public override void Process(GetMenuModelArgs args) { if (!args.Aborted) { if (string.IsNullOrEmpty(args.SiteSettings.AllowedTemplates) || !args.SiteSettings.AllowedTemplates.Contains(args.SitecoreItem.TemplateID.ToString())) { args.AbortPipeline(); } } }
public abstract void Process(GetMenuModelArgs args);