首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Umbraco 7动态菜单

Umbraco 7动态菜单
EN

Stack Overflow用户
提问于 2016-02-24 19:14:27
回答 1查看 166关注 0票数 0

日安!在Umbraco上工作,并且很难在Umbraco中创建动态菜单。应该使用menuName调用li菜单。

它适用于第一个循环(称为item.menuName的静态菜单),但在第二个node.menuName中不工作。node.Name是可行的,但.menuName不工作。为什么?

谢谢!

代码语言:javascript
运行
复制
    var homePage = CurrentPage.AncestorsOrSelf(1).First();
    var menuItems = homePage.Children.Where("UmbracoNaviHide == false");

<ul class="menu">

    @foreach (var item in menuItems)
    {
        var childrenItems = item.Children.Where("UmbracoNaviHide == false");
        <li class="@(CurrentPage.Id == item.Id ? "sel" : null)">
            <a href="@item.Url"><h4>@item.menuName</h4></a>
            @createSubmenu(childrenItems, item.Id)
        </li>
    }
</ul>

@helper createSubmenu(IEnumerable<IPublishedContent> nodes, int? parentId) {
    if (nodes.Count() > 0){
        <ul>
        @foreach (var node in nodes)
        {
            var childrenItems = node.Children.Where("UmbracoNaviHide == false");
            <li class="@(CurrentPage.Id == node.Id ? "sel" : null)">
                <a href="@node.Url"><h5>@node.menuName</h5></a>
                @createSubmenu(childrenItems, node.Id)
            </li>
        }
        </ul>
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-25 11:47:21

当不使用强样式视图时,UmbracoTemplatePageUmbracoTemplatePage属性是dynamic,这意味着@item.menuItem是可访问的。

但是,您的createSubmenu助手将动态数据转换为一个没有成员menuName可用的IPublishedContent。您需要使用GetPropertyValue方法:

代码语言:javascript
运行
复制
@helper createSubmenu(IEnumerable<IPublishedContent> nodes, int? parentId)
{
    if (nodes.Count() > 0)
    {
        <ul>
            @foreach (var node in nodes)
            {
                var childrenItems = node.Children.Where("UmbracoNaviHide == false");
                <li class="@(CurrentPage.Id == node.Id ? "sel" : null)">
                    <a href="@node.Url"><h5>@node.GetPropertyValue("menuName")</h5></a>
                    @createSubmenu(childrenItems, node.Id)
                </li>
            }
        </ul>
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35611017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档