在 Migrations.cs 中,如果启用了一个模块,我想禁用它,如果尚未启用,则启用另一个模块。我怎样才能做到这一点?
问问题
1375 次
2 回答
8
好的,我通过查看 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 工具:您可以启用和禁用功能并获取已启用功能的列表。查看 Orchard.Modules 项目中的 FeatureCommands.cs。希望这对您有所帮助。
于 2012-10-24T20:17:37.827 回答