Nix*_*Nix 3 umbraco razor umbraco7
我正在努力用一个非常简单的Umbraco 7导航.基本上,我在一个解决方案中有几个"站点" - 或者,相同的站点,但是对于不同的国家和语言.他们的主页是顶级节点,所有子页面都嵌套在2级及以下.
这适用于各个站点(输出1级节点的子级).但是,我想创建第二个菜单,它只输出顶级节点,我可以在不同的站点之间切换.由于某种原因,我不能这样做.
@inherits UmbracoTemplatePage
@{
var homePage = CurrentPage.AncestorsOrSelf(1).First();
var subItems = homePage.Children;
var rootItems = homePage.Siblings;
}
<ul>
@foreach (var item in subItems) {
<li>@item.Name</li>
}
</ul>
<ul>
@foreach (var item in rootItems) {
<li>@item.Name</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
它完美地输出第一个列表,但第二个列表没有输出.如果我尝试输出@homePage.Name它确实给了我一个输出,所以我知道根项是可访问的.
理想情况下,我希望它在第二个导航中输出所有根节点(基本上SiblinbsOrSelf()).
我究竟做错了什么?
要获取根级别的所有节点:
var rootNodes = Umbraco.TypedContentAtRoot();
Run Code Online (Sandbox Code Playgroud)
这将包括当前页面,必要时可以省略.
要ul根据需要输出它:
<ul>
@foreach (var n in rootNodes)
{
<li>
@n.Name
</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4094 次 |
| 最近记录: |