Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected INavigation GetHierarchyRecursive(PageData parent, PageData currentPage, INavigation nav)
- {
- var children =
- _contentLoader.GetChildren<PageData>(parent.PageLink).FilterForVisitor().FilterVisibleInMenu();
- var currentPageAncestors = _contentLoader.GetAncestors(currentPage.ContentLink).Reverse();
- var subNavItems = nav.Items.ToList();
- try
- {
- subNavItems.AddRange(children.Select(child => new NavigationItem
- {
- Active = (child.PageGuid == currentPage.PageGuid),
- ActiveTrail = (currentPageAncestors.Any(x =>
- {
- var pageData = x as PageData;
- return pageData != null && pageData.PageGuid == child.PageGuid;
- })),
- Children = GetHierarchyRecursive(child, currentPage),
- CssCls = "",
- Enabled = true,
- Title = child.PageName,
- Reference = child,
- IsDropDown = false,
- Href = child.LinkURL
- }));
- }
- catch (NullReferenceException e)
- {
- _logManager.Info("Error in menu generation {0}", e.Message);
- }
- nav.Items = subNavItems;
- return nav;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement