6

Migrations.csから、1つのモジュールが有効になっている場合は無効にし、まだ有効になっていない場合は別のモジュールを有効にします。これどうやってするの?

4

2 に答える 2

8

OK、Orchard.ModulesのControllerクラスとCommandクラスを見て、これを理解しました。最初にOrchard.Modulesへのプロジェクト参照を追加し、次にMigrations.csに追加する必要がありました。

    public int UpdateFrom2() {
        var features = _moduleService.GetAvailableFeatures().ToDictionary(m=>m.Descriptor.Id, m=>m);
        if (features.ContainsKey("TinyMce") && features["TinyMce"].IsEnabled) {
            _moduleService.DisableFeatures(new string[] { "TinyMce" });
        }

        if (features.ContainsKey("TinyMceDeluxe") && !features["TinyMceDeluxe"].IsEnabled) {
            _moduleService.EnableFeatures(new string[] { "TinyMceDeluxe" });
        }

        return 3; 
    }
于 2012-10-24T20:18:38.840 に答える
1

オーチャードツールを確認する必要があると思います。機能を有効または無効にしたり、有効な機能のリストを取得したりできます。Orchard.ModulesプロジェクトのFeatureCommands.csを見てください。これがお役に立てば幸いです。

于 2012-10-24T20:17:37.827 に答える