2011-03-14 37 views
2

我想我的果园CMS模块中创建一个自定义INavigationProvider:如何在Orchard中设置接口实现的优先级?

[UsedImplicitly] 
LocalizedMainMenuNavigationProvider : INavigationProvider 

但似乎我的实现不使用IoC容器(AutoFac我认为),可能是因为已经有另一安装的模块提供了一个使用的实现。

如何强制Orchard使用我的实现?

由于

回答

2

菜单由INavigationManager,这需要一个IEnumerable的< INavigationProvider>作为参数构建的。这意味着它需要所有提供商为给定的菜单名称并合并其输出。这些数据用于呈现最终菜单。

此外请确保您的课程是public - 否则您的实施将不会被注册。

如果我是你,我宁愿创建基于默认的INavigationManager自定义实现(所以不要复制/粘贴所有的代码)。这是您获取从提供商收集的所有菜单项并且能够本地化它们的唯一地方。

HTH