使用 Orchard cms 1.5.1 我创建了一个模块,其中包含从 Web 服务获取列表的控制器。
我想在启用此模块时在主菜单中添加一个菜单项。为此我创建了
主菜单如下:
public class MainMenu:INavigationProvider
{
public Localizer T { get; set; }
public String MenuName
{
get { return "main"; }
}
public void GetNavigation(NavigationBuilder builder)
{
builder.Add(menu => menu.Add(T("Fetched List"), "4", item => item.Action("Index", "FetchedList")));
}
}
当我的模块启用时,导航将不会显示该菜单项。难道我做错了什么?
从 Orchard 1.5.0 开始,INavigationProvider
不用于在前端构建菜单(尽管它仍然用于构建仪表板的管理菜单)。您需要实施IMenuProvider
or INavigationFilter
. 请参阅 David Hayden 博客上的这篇文章以获取一些指导 http://www.davidhayden.me/blog/dynamically-injecting-menu-items-in-orchard-cms。您还可以在这两个方面找到很好的例子果园投影 http://orchardprojections.codeplex.com/SourceControl/changeset/view/a2ed93910303#Navigation/NavigationQueryProvider.cs, and 果园文化选择器 http://orchardculturepicker.codeplex.com/SourceControl/changeset/view/2621084ed8e7#Services/LocalizableMainMenuNavigationFilter.cs.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)