73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
@inherits UmbracoTemplatePage
|
|
@{ var home = CurrentPage.Site(); }
|
|
|
|
@if (home.Children.Any())
|
|
{
|
|
@* Get the first page in the children *@
|
|
var naviLevel = home.Children.First().Level;
|
|
|
|
@* Add in level for a CSS hook *@
|
|
<ul class="level-@naviLevel">
|
|
@* For each child page under the home node *@
|
|
@foreach (var childPage in home.Children.Where("Visible"))
|
|
{
|
|
if (childPage.Children.Where("Visible").Any())
|
|
{
|
|
<li class="has-child @(childPage.IsAncestorOrSelf(CurrentPage) ? "selected" : null)">
|
|
@if(childPage.DocumentTypeAlias == "LandingPage")
|
|
{
|
|
<span>@childPage.Name</span>
|
|
@childPages(childPage.Children)
|
|
} else {
|
|
<a href="@childPage.Url">@childPage.Name</a>
|
|
}
|
|
</li>
|
|
}
|
|
else
|
|
{
|
|
<li class="@(childPage.IsAncestorOrSelf(CurrentPage) ? "selected" : null)">
|
|
<a href="@childPage.Url">@childPage.Name</a>
|
|
</li>
|
|
}
|
|
}
|
|
</ul>
|
|
}
|
|
|
|
@helper childPages(dynamic pages)
|
|
{
|
|
@* Ensure that we have a collection of pages *@
|
|
if (pages.Where("Visible").Any())
|
|
{
|
|
@* Get the first page in pages and get the level *@
|
|
var naviLevel = pages.First().Level;
|
|
|
|
@* Add in level for a CSS hook *@
|
|
<ul class="sublevel level-@(naviLevel)">
|
|
@foreach (var page in pages.Where("Visible"))
|
|
{
|
|
if (library.IsProtected(page.id, page.path)
|
|
&& !library.HasAccess(page.id, page.path))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
<li>
|
|
<a href="@page.Url">
|
|
@page.Name
|
|
@if (library.IsProtected(page.id, page.path)) {
|
|
<i class="fa fa-lock fa-fw text-danger" aria-hidden="true"></i>
|
|
}
|
|
</a>
|
|
|
|
@* if the current page has any children *@
|
|
@if (page.Children.Where("Visible").Any())
|
|
{
|
|
@* Call our helper to display the children *@
|
|
@childPages(page.Children)
|
|
}
|
|
</li>
|
|
}
|
|
</ul>
|
|
}
|
|
}
|