Orchardcms 替代零件模板

Orchardcms 替代零件模板,orchardcms,Orchardcms,我从乌节开始。我想覆盖MenuWidgetPart以按我所需进行渲染。我已经在当前主题的Views文件夹中创建了Parts.MenuWidget-MenuWidget.cshtml。但我不知道,如何从模型中获取列表菜单。请看下面我的代码: <nav> <ul> @foreach(var m in listMenu){ <li><a href="#">@m.Text</a></li&g

我从乌节开始。我想覆盖MenuWidgetPart以按我所需进行渲染。我已经在当前主题的Views文件夹中创建了Parts.MenuWidget-MenuWidget.cshtml。但我不知道,如何从模型中获取列表菜单。请看下面我的代码:

<nav>
    <ul>
        @foreach(var m in listMenu){
            <li><a href="#">@m.Text</a></li>
        }
    </ul>
</nav>

    @foreach(列表菜单中的var m){
  • }

如何从模型中获取列表菜单?

用于
菜单
菜单项
的模板是
菜单.cshtml
菜单项.cshtml
。您可以从将这些文件从
/Core/Shapes/Views/
目录复制到主题目录开始。以后可以根据需要修改它们

这实际上会修改站点上的所有菜单。如果您希望它专门用于您的小部件(
Parts.MenuWidget-MenuWidget.cshtml
),您可以从将
Menu.cshtml
中的内容复制到小部件模板开始,然后继续进行修改


编辑:

要迭代项目,可以使用以下语法:

@foreach (var item in Model.Menu.Items){
    @Display(item)
}

Menu
MenuItem
的模板是
Menu.cshtml
MenuItem.cshtml
。您可以从将这些文件从
/Core/Shapes/Views/
目录复制到主题目录开始。以后可以根据需要修改它们

这实际上会修改站点上的所有菜单。如果您希望它专门用于您的小部件(
Parts.MenuWidget-MenuWidget.cshtml
),您可以从将
Menu.cshtml
中的内容复制到小部件模板开始,然后继续进行修改


编辑:

要迭代项目,可以使用以下语法:

@foreach (var item in Model.Menu.Items){
    @Display(item)
}

谢谢你的帮助。我明白你说的话。但我想知道如何才能进入菜单项列表。例如,对于Menu.cshtml,我有一个模型,所以如何访问列表菜单项?再次感谢!我已经更新了答案,添加了遍历菜单项的示例。谢谢你的帮助。我明白你说的话。但我想知道如何才能进入菜单项列表。例如,对于Menu.cshtml,我有一个模型,所以如何访问列表菜单项?再次感谢!我已经更新了答案,以包含遍历菜单项的示例。。