我已经构建了一个登录页面,使用Umbraco入门套件中的产品和产品文档类型来显示案例配方。
在单个食谱上,我为此目的放置了一些类别标签,使它们出现在着陆页的导航栏中。
我想使用一些与此类似的代码
<nav class="nav-bar nav-bar--center nav-bar--air-bottom">
<a class="nav-link nav-link--black nav-link--active" href="">All</a>
<a class="nav-link nav-link--black" href="">Vorspeisen</a>
<a class="nav-link nav-link--black" href="">Suppen</a>
<a class="nav-link nav-link--black" href="">Eintoepfe</a>
<a class="nav-link nav-link--black" href="">Hauptgerichte</a>
<a class="nav-link nav-link--black" href="">Deserts</a>
</nav>
我确信上面的代码不会像现在这样工作。我有一些HTML的基本经验,但没有关于Razor以及如何使用Umbraco别名等的真正线索。我知道上面将在我的登陆页面上构建一个导航栏我想要什么。所以没关系。我唯一的问题是我不知道在这里使用什么代码:href=""
来获取类别标签而不是使用不是我想要的着陆页的URL而且也不是属性的ID因为我没有每个标签的ID ???或者我在哪里可以找到我在内容上创建的标签的ID,如下面的屏幕截图所示?
如何获取导航栏的类别标签
非常感谢一些帮助,因为我不是开发人员
添加一些截图来显示我想要使用的内容:property on document type
actual category tags examples I want to use
如前所述,我不是开发人员,因此可能需要分享更多信息以获得我需要的指导。因此,如果有人愿意提供帮助但希望/需要查看更多代码,请告诉我要分享的内容,我将很乐意分享可能需要的内容。
更新16/02/19:
结构看起来像这样:
家 | -登陆页面 | -parent landingpage(这是我想要使用过滤子项的导航栏的页面 | - 元素 | -登陆页面
Tree Structure and structure of the landing page in question
非常类似于经典博客页面。我使用了Umbraco入门套件中的默认产品模板和产品模板。并改变了一点,以满足我的需要。
这完全适合我的目的。
我不能理解,因为它不是英文,但你应该能够在你看来这样做:
@{
rootPage = Model.AncestorOrSelf(1);
}
@foreach (var child in rootPage.Children) {
var categoryTag = child.GetPropertyValue<string>("category");
<div>@categoryTag</div>
//do whatever else you want in there with the category tags.
}
Here's the cheat sheet for traversing in Umbraco确保您访问备忘单以找到不同的遍历方式。
.Children
用于当前页面的子项(在树结构中)。 .Descendants
适用于您当前页面下的任何节点。 .Descendants("nodeAliasHere")
将在您当前页面下找到具有特定DocumentTypeAlias
的任何后代。
代码背后的想法应该是:'转到根页面,获取后代页面,然后找到值为'category''的属性。