I'm trying to replace the Orchard CMS NavigationManager
in Orchard.UI.Navigation
so I can filter menu items based on permissions. Here is my code:
[OrchardSuppressDependency("Orchard.UI.Navigation.NavigationManager")]
public class MmtNavigationManager : NavigationManager
{
public MmtNavigationManager(IEnumerable<INavigationProvider> providers, IAuthorizationService authorizationService, UrlHelper urlHelper, IOrchardServices orchardServices)
: base(providers, authorizationService, urlHelper, orchardServices)
{
}
public new IEnumerable<MenuItem> BuildMenu(string menuName)
{
var menu = base.BuildMenu(menuName);
return menu;
}
}
This code is in an installed and enabled module. The constructor gets called but never the BuildMenu
method; The origional BuildMenu
gets called instead.
Any ideas?
Thanks
Ah, sussed it out. I needed to make my new class (MmtNavigationManager
) Inherit from INavigationManager
as well.