通过INavigationProvider将菜单项添加到主菜单但不会显示?

时间:2012-08-06 11:54:12

标签: orchardcms

使用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")));
    }
}

启用我的模块后,导航将不会显示该菜单项。我做错了吗?

1 个答案:

答案 0 :(得分:6)

从Orchard 1.5.0开始,INavigationProvider不会用于在前端构建菜单(它仍然用于构建仪表板的管理菜单)。您需要实施IMenuProviderINavigationFilterSee this post on David Hayden's blog for some pointers。您还可以在Orchard.ProjectionsOrchard.CulturePicker中找到很好的示例。