gpt4 book ai didi

razor - 在 Umbraco Razor 导航中输出顶级节点

转载 作者:行者123 更新时间:2023-12-01 09:24:59 25 4
gpt4 key购买 nike

我正在为一个非常简单的 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>

它完美地输出了第一个列表,但第二个列表没有输出。如果我尝试输出 @homePage.Name 它确实会给我一个输出,所以我知道根项目是可访问的。

理想情况下,我希望它在第二次导航中输出所有根节点(基本上是 SiblinbsOrSelf())。

我做错了什么?

最佳答案

获取根级别的所有节点:

var rootNodes = Umbraco.TypedContentAtRoot();

这将包括当前页面,必要时可以省略。

根据需要在 ul 中输出:

<ul>
@foreach (var n in rootNodes)
{
<li>
@n.Name
</li>
}
</ul>

关于razor - 在 Umbraco Razor 导航中输出顶级节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26607909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com