在目标网页上的导航栏中使用类别标签

时间:2019-02-13 10:58:51

标签: tags umbraco categories navbar umbraco7

我已经建立了一个登陆页面,以使用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:

结构如下:

首页
| -landingpage
| -parent登陆页面(这是我要使用的导航栏的页面,                                                     过滤孩子
| -child元素
| -landingpage

Tree Structure and structure of the landing page in question

与经典博客页面非常相似。 我使用了Umbraco入门套件中的默认产品模板和产品模板。并做了一些修改以满足我的需求。

这对我来说很正常。

1 个答案:

答案 0 :(得分:0)

我不太理解,因为它不是英语,但是您应该能够做到这一点:

@{
   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'的属性。