Добавлен пункт меню в главное меню через INavigationProvider, но он не будет отображаться?

Используя Orchard cms 1.5.1 я создал модуль, который содержит контроллер, который выбирает список из веб-службы. Я хочу добавить пункт меню в главное меню, когда этот модуль включен. Для этого я создал 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 ответ

Решение

Начиная с версии 1.5.0 Orchard, INavigationProvider не используется для создания меню на внешнем интерфейсе (он все еще используется для создания меню администратора панели инструментов). Вам нужно реализовать либо IMenuProvider или же INavigationFilter, Смотрите этот пост в блоге Дэвида Хейдена для некоторых указателей. Вы также можете найти хорошие примеры как в Orchard.Projection, так и в Orchard.CulturePicker.

Другие вопросы по тегам