我是 Umbraco CMS 的新手,最近开始使用它进行编码。我的页面结构是这样的
现在我已经编写了这样的代码,以根据我在 Umbraco 论坛中找到的代码生成动态导航。但是在输出中它只给出'Home'作为链接而不是其他链接。原因是我这样写它 { var homeNode = Model.AncestorOrSelf(1); 并且它只返回主页而不是其他页面。我也尝试过使用这个 Model.AncestorOrSelf()。但它给出了相同的结果。
<nav>
<ul>
@{ var homeNode = Model.AncestorOrSelf(1); }
<li><a href="@homeNode.Url" class="@Library.If(homeNode.Id == Model.Id, "selected", "")">@homeNode.Name</a></li>
@foreach (var page in Model.Children.Where("Visible"))
{
var isSelected = false;
if (Model.Id == page.Id || (Model.Parent != null && Model.Parent.Id == page.Id && Model.NodeTypeAlias != "Textpage"))
{
isSelected = true;
}
<li>
<a href="@page.Url" class="@Library.If(isSelected, "selected", "")">@page.Name</a>
<!-- If the page has child nodes (2nd level) that are visible and docTypeAlias is Textpage (textpages) -->
@if (page.Textpages.Where("Visible").Count() > 0)
{
<ul>
@foreach (var childPage in page.Children.Where("Visible"))
{
<li><a href="@childPage.Url" class="@Library.If(childPage.Id == Model.Id, "selected", "")">@childPage.Name</a></li>
}
</ul>
}
</li>
}
</ul>
</nav>
遍历这个的正确表达是什么。
谢谢并恭祝安康
乌帕尔