Asp.net Umbraco 7:创建菜单类型的对象并在后端的UI中编辑它

Asp.net Umbraco 7:创建菜单类型的对象并在后端的UI中编辑它,asp.net,asp.net-mvc,umbraco,umbraco7,Asp.net,Asp.net Mvc,Umbraco,Umbraco7,我已经在VS2013中使用NuGet安装了Umbraco 7.1.5,并在视图中使用Razor语法。我知道我们可以从文档树创建导航菜单,但是: 问:是否可以创建菜单类型的对象,并在后端的UI中编辑它,以便非开发人员可以根据需要向菜单添加任意多的项或子项,这些项或子项具有文本、href和可选图像等属性,并带有加号。如何做到这一点或者这可以使用属性编辑器吗?当然可以,您已经回答了一半的问题,但不需要插件。解决方案非常简单 创建MenuItem文档类型,并在“结构”选项卡中允许在MenuItem对象下

我已经在VS2013中使用NuGet安装了Umbraco 7.1.5,并在视图中使用Razor语法。我知道我们可以从文档树创建导航菜单,但是:
问:是否可以创建菜单类型的对象,并在后端的UI中编辑它,以便非开发人员可以根据需要向菜单添加任意多的项或子项,这些项或子项具有文本、href和可选图像等属性,并带有加号。如何做到这一点或者这可以使用属性编辑器吗?

当然可以,您已经回答了一半的问题,但不需要插件。解决方案非常简单

创建MenuItem文档类型,并在“结构”选项卡中允许在MenuItem对象下创建MenuItem对象。 您可以在内容树中的某个位置创建,以允许编辑器创建其菜单结构。我希望有一个站点设置节点,可以对站点配置、促销和其他非内容项进行分组。 开始创建菜单项树。 在razor中,查找MenuItem树的根,并使用一些自引用代码遍历树,就像创建站点地图一样。类似*:

@helper traverse(IPublishedContent node)
{
    <ul>
    @foreach (var item in node.Children)
    {
        <li>
          <a href="@item.GetPropertyValue("menuItemHref")">
              @item.GetPropertyValue("menuItemText")
          </a>

          @traverse(item)

        </li>
    }
    </ul>
}

<div class="menuItemTree"> 
    @traverse(@parentOfrootMenuItem)
</div>

*从我们的.umbraco.org重新调整用途

是否希望项目在前端可见?您可以使用所需的所有属性创建一个名为“菜单项”的新文档类型,然后在“内容”中创建一个新的菜单项列表,然后从razor文件中查询此列表。@Morton,这也是我在这里建议的alex87:我想alex87只想使用propertyEditor来建立树。