Добавлен пункт меню в главное меню через 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.