@inherits Umbraco.Web.Macros.PartialViewMacroPage @* This snippet makes a list of links of all visible pages of the site, as nested unordered html lists. How it works: - It uses a custom Razor helper called Traverse() to select and display the markup and links. *@ @{ var selection = CurrentPage.Site(); }
@* Render the sitemap by passing the root node to the traverse helper, below *@ @Traverse(selection)
@* Helper method to travers through all descendants *@ @helper Traverse(dynamic node) { @* Update the level to reflect how deep you want the sitemap to go *@ var maxLevelForSitemap = 4; @* Select visible children *@ var selection = node.Children.Where("Visible").Where("Level <= " + maxLevelForSitemap); @* If any items are returned, render a list *@ if (selection.Any()) { } }