【发布时间】:2016-09-01 08:03:11
【问题描述】:
我刚开始使用 Umbraco(和 razor/mvc)。到目前为止,我已经成功设置了基本设计,但下一步是导航。
我一直在阅读文档并在线寻找代码 sn-ps,但不幸的是,它们都没有真正的帮助(或者我可能无法正确理解)。
我现在使用的代码如下所示:
<ul>
@{
var homeNode = CurrentPage.AncestorsOrSelf(1).First();
// The menu items we want are all of the children of the homepage
// We also check if "Hide in navigation" is on in the menu, we shouldn't show hidden items
var menuItems = homeNode.Children.Where("UmbracoNaviHide == false");
}
<li><a href="@homeNode.Url">@homeNode.Name</a></li>
@foreach (var page in menuItems)
{
if(page.Name!="Banner Settings")
{
<li>
<a href="@page.Url">@page.Name</a>
<!-- If the page has child nodes (2nd level) that are visible and docTypeAlias is Textpage (textpages) -->
@if (page.Textpages.Where("UmbracoNaviHide == false").Count() > 0)
{
<ul>
@foreach (var childPage in page.Children.Where("UmbracoNaviHide == false"))
{
<li><a href="@childPage.Url">@childPage.Name</a></li>
}
</ul>
}
</li>
}
}
</ul>
取自How to create Top navigation Sub Menu in umbraco CMS using partial view.
但不幸的是,正如代码本身所指出的那样,它只显示我所在的当前页面及其子页面。
有没有办法显示所有菜单项,包括他们的孩子而不是当前的?我好像搞不懂。
【问题讨论】:
标签: razor model-view-controller umbraco