1

アクセス許可に基づいてメニュー項目をフィルター処理できるように、Orchard CMSNavigationManagerを置き換えようとしています。Orchard.UI.Navigationこれが私のコードです:

[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;
    }
}

このコードは、インストールされ有効になっているモジュールにあります。コンストラクターは呼び出されますが、BuildMenuメソッドは呼び出されません。代わりにオリジナルBuildMenuが呼び出されます。

何か案は?

ありがとう

4

1 に答える 1

2

ああ、それを考え出した。新しいクラス ( MmtNavigationManager) も継承する必要がINavigationManagerありました。

于 2012-06-21T12:55:58.633 に答える