我想在我的Orchard CMS模块中创建一个自定义的INavigationProvider:
[UsedImplicitly]
LocalizedMainMenuNavigationProvider : INavigationProvider
但似乎IoC容器(我认为是AutoFac)没有使用我的实现,可能是因为已经安装了另一个模块,它提供了一个使用的实现。
如何强制Orchard使用我的实现?
谢谢
菜单由INavigationManager构建,它将IEnumerable <INavigationProvider>作为参数。这意味着它需要所有提供者获取给定的菜单名称并合并其输出。此数据用于渲染最终菜单。
还要确保您的课程是公开的 - 否则您的实施将不会被注册。
如果我是你,我宁愿创建一个基于默认的INavigationManager的自定义实现(所以不要复制/粘贴所有代码)。这是您从提供商处收集所有菜单项并且能够本地化它们的唯一地方。
HTH