使用Orchard cms 1.5.1我创建了一个模块,其中包含从Web服务获取列表的控制器。 我想在启用此模块时在主菜单中添加一个菜单项。为此我创造了 MainMenu如下:
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")));
}
}
启用我的模块后,导航将不会显示该菜单项。我做错了吗?
答案 0 :(得分:6)
从Orchard 1.5.0开始,INavigationProvider
不会用于在前端构建菜单(它仍然用于构建仪表板的管理菜单)。您需要实施IMenuProvider
或INavigationFilter
。 See this post on David Hayden's blog for some pointers。您还可以在Orchard.Projections和Orchard.CulturePicker中找到很好的示例。