@inherits umbraco.MacroEngines.DynamicNodeContext @* Render the sitemap by passing the root node to the traverse helper *@
@traverse(@Model.AncestorOrSelf())
@* Helper method to travers through all descendants *@ @helper traverse(dynamic node) { @* If a MaxLevelForSitemap parameter is passed to the macro, otherwise default to 4 levels *@ var maxLevelForSitemap = String.IsNullOrEmpty(Parameter.MaxLevelForSitemap) ? 4 : int.Parse(Parameter.MaxLevelForSitemap); @* Select visible children *@ var items = node.Children.Where("Visible").Where("Level <= " + maxLevelForSitemap); @* If any items are returned, render a list *@ if (items.Any()) { } }