Я хочу включить определенный модуль в перенос, но модуль не включен сразу.Как включить модуль в миграции Orchard?
Проблема здесь выглядит как состояние модуля, она установлена в Rising
в таблице Orchard_Settings_ShellFeatureStateRecord
. В этом случае я больше не могу активировать модуль вручную в Admin, мне нужно перезапустить веб-сервер после выполнения миграции, чтобы модуль смог указать Up
.
Код миграции выглядит
public class Migration: Orchard.Data.Migration.DataMigrationImpl
{
// public
public Migration(Orchard.Environment.Features.IFeatureManager aFeatureManager)
{
mFeatureManager = aFeatureManager;
}
...
public int UpdateFrom1()
{
System.Collections.Generic.Dictionary<string, Orchard.Environment.Extensions.Models.FeatureDescriptor> lFeatures =
mFeatureManager.GetAvailableFeatures().ToDictionary(m => m.Id, m => m);
if (lFeatures.ContainsKey("Orchard.Taxonomies"))
mFeatureManager.EnableFeatures(new string[] {"Orchard.Taxonomies"}, true);
...
}
// private
private readonly Orchard.Environment.Features.IFeatureManager mFeatureManager;
}
Я также попытался с помощью IModuleManager
, не работает. Затем я попытался включить еще одну простую функцию, например Orchard.Alias.UI
, тоже не работал.
Является ли это предполагаемым поведением или что может быть неправильным в коде?
Модули не должны путаться друг с другом, и мне кажется, что включение модуля должно быть решением администратора сайта. Каков сценарий, который его оправдывает? –
@BertrandLeRoy После точек есть строка кода, которая добавляет поле таксономии к части, и когда функция таксономии не включена, ничего не отображается редактором части. Поэтому я подумал, что включение функции будет хорошей идеей, поскольку часть связана с функцией, которая сама по себе отмечена зависимостью от Orchard.Taxonomies в Module.txt. – ViRuSTriNiTy
Если у вашей функции есть зависимость от таксономий, ее включение также позволит использовать таксономии. Вам не нужно ничего делать. То есть, если зависимость не является чем-то новым, что вы добавляете с новой версией. В этом случае я, вероятно, выведет предупреждение с просьбой включить его, и я сделаю код устойчивым к тому, чтобы таксономии не были включены (что является хорошей идеей, несмотря ни на что). –