【问题标题】:How to create a razor menu in umbraco?如何在 umbraco 中创建剃须刀菜单?
【发布时间】:2013-09-18 16:15:44
【问题描述】:

我正在尝试使用剃刀宏在 umbraco 中创建剃刀菜单。我按照关于创建剃刀菜单的 umbraco 教程进行操作:

http://umbraco.com/help-and-support/video-tutorials/umbraco-fundamentals/razor-recipes/navigation/TVPlayer

它适用于我的前三个页面,但我想添加另一个页面,但该页面未显示在我的菜单中。我的页面结构如下:

开始、日历和照片确实显示在我的菜单中,但新闻页面没有。这种结构是否正确,还是我必须创建一个“主页”并将我的所有页面放在其下?

这是我的剃须刀宏代码:

@inherits umbraco.MacroEngines.DynamicNodeContext
<nav>
<ul>
    @{ var homeNode = Model.AncestorOrSelf("Home"); }

    <li><a href="@homeNode.Url" class="@Library.If(homeNode.Id == Model.Id, "selected", "")">@homeNode.Name</a></li>

    @foreach (var page in homeNode.Children.Where("Visible"))
    {
        var isSelected = false;
        if (Model.Id == page.Id || (Model.Parent != null && Model.Parent.Id == page.Id && Model.NodeTypeAlias != "Textpage"))
        {
            isSelected = true;
        }

        <li>

            <a href="@page.Url" class="@Library.If(isSelected, "selected", "")">@page.Name</a>

            <!-- If the page has child nodes (2nd level) that are visible and docTypeAlias is Textpage (textpages) -->
            @if (page.Children.Where("Visible").Count() > 0)
            {
                <ul>
                    @foreach (var childPage in page.Children.Where("Visible"))
                    {
                        <li>
                            <a href="@childPage.Url" class="@Library.If(childPage.Id == Model.Id, "selected", "")">@childPage.Name</a>
                        </li>
                    }
                </ul>
            }
        </li>  
    }
</ul>
</nav>

【问题讨论】:

    标签: razor umbraco


    【解决方案1】:

    理想情况下,您需要一个使用别名为“Home”的文档类型制作的页面,因为您通过在此处获取该页面来定义您的起始节点/变量,

    var homeNode = Model.AncestorOrSelf("Home");
    

    那么在你得到这个 homeNode 的所有子页面之后,你的所有结构都应该是

    content
    - Home
      - start
      - calender
      - frontpage sliders
      - fotos
      - news 
    

    【讨论】:

      猜你喜欢
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      相关资源
      最近更新 更多