在 Umbraco 中使用 Razor 的多级下拉菜单

发布于 2024-11-27 03:29:17 字数 1283 浏览 0 评论 0原文

我正在尝试构建一个多级下拉菜单,我正在使用 umbraco cms。

我正在寻找的是这样的:

<div id="TopMenu"> 
        <ul class="myMenu"> 
            <li><a href="#">Home</a></li> 
            <li><a href="#">About Us</a></li> 
            <li><a href="#">Products</a>
                    <ul>
                        <li><a href="#">Products1</a></li>
                        <li><a href="#">Products2</a></li>
                        <li><a href="#">Products3</a></li>
                    </ul>
                    </li> 
            <li><a href="#">ContactUs</a></li> 

        </ul> 
    </div><!--TopMenu--> 

在 Umbraco 中我创建了 cshtml 让它工作:

<ul class="myMenu">
<li><a href="/">Home</a> </li>
@foreach (var page in @Model.AncestorOrSelf(1).Children)
{
    string style = "";
    if (1 == 1) { style = "class=\"current\""; }
    <li><a href="@page.Url" @style>@page.Name</a></li>


}

上述剃刀语法适用于顶级的 AncestorOrSelf(1) ,但我需要 AncestorOrSelf(2) 产品的子节点,有谁知道如何实现这一点,

谢谢

I am trying to build a multi-level dropdrown menu, I'm using umbraco cms.

What I am looking for is something like :

<div id="TopMenu"> 
        <ul class="myMenu"> 
            <li><a href="#">Home</a></li> 
            <li><a href="#">About Us</a></li> 
            <li><a href="#">Products</a>
                    <ul>
                        <li><a href="#">Products1</a></li>
                        <li><a href="#">Products2</a></li>
                        <li><a href="#">Products3</a></li>
                    </ul>
                    </li> 
            <li><a href="#">ContactUs</a></li> 

        </ul> 
    </div><!--TopMenu--> 

And in Umbraco I have created cshtml for it to work :

<ul class="myMenu">
<li><a href="/">Home</a> </li>
@foreach (var page in @Model.AncestorOrSelf(1).Children)
{
    string style = "";
    if (1 == 1) { style = "class=\"current\""; }
    <li><a href="@page.Url" @style>@page.Name</a></li>


}

The Above razor syntax works fine for AncestorOrSelf(1) which is Top level , but i need sub nodes for products which is AncestorOrSelf(2), Does any one knows how to acheive this

Thanx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诗笺 2024-12-04 03:29:17

这是我当前在项目中使用的 razor 代码:

@foreach (var page in Model.AncestorOrSelf(1).Children.Where("Visible"))
{
   <li><a href="@page.Url">@page.Name</a>
   if (page.Children.Where("Visible").Count() > 0)
   {
      <ul>
         @foreach (var subpage in page.Children.Where("Visible"))
         {
            <li><a href="@subpage.Url">@subpage.Name</a></li>
         }
      </ul>
   }
   </li>
}

内部循环循环遍历外部循环节点的所有子节点。

This is the razor code I'm currently using in my project:

@foreach (var page in Model.AncestorOrSelf(1).Children.Where("Visible"))
{
   <li><a href="@page.Url">@page.Name</a>
   if (page.Children.Where("Visible").Count() > 0)
   {
      <ul>
         @foreach (var subpage in page.Children.Where("Visible"))
         {
            <li><a href="@subpage.Url">@subpage.Name</a></li>
         }
      </ul>
   }
   </li>
}

The inner loop cycles through all the children of the outer loop's node.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文