private void CreateSiteMap() { if (_rootNode != null) { return; } lock (Lock) { SiteInfo site = _siteService.GetCurrent(); _rootNode = new CmsSiteMapNode(this, site.Root); AddPageNode(_rootNode, null); foreach (Page page in site.Root.Children) { if (!CheckPageVisibility(page)) { continue; } var node = new CmsSiteMapNode(this, page); AddPageNode(node, _rootNode); CreateSiteMap(node, page); } } }
private void CreateSiteMap(CmsSiteMapNode parentNode, Page parentPage) { foreach (Page page in parentPage.Children.OrderBy(p => p.Ordinal)) { if (!page.Navigable) { continue; } var node = new CmsSiteMapNode(this, page); AddPageNode(node, parentNode); CreateSiteMap(node, page); } }