为 Orchard 内容字段设置默认值

问题描述 投票:0回答:2

我将迁移中的

BooleanField
添加到
WidgetPart
,如下所示:

ContentDefinitionManager.AlterPartDefinition("WidgetPart",
    builder => builder.WithField("DisplayInSubnav", fieldBuilder => fieldBuilder
        .OfType("BooleanField")
        .WithDisplayName("Display in Subnav")));

当它呈现在管理 UI 的“编辑小部件”页面上时,该字段的默认值为 null。 如何将 BooleanField 的默认值设置为 true?

我尝试从

WidgetPartHandler
设置默认值,但无济于事。

public class WidgetPartHandler : ContentHandler
{
    public WidgetPartHandler(IRepository<WidgetPartRecord> widgetsRepository) {

        OnInitializing<WidgetPart>((context, part) => 
            (part as dynamic).ShowInSubnav.Value = true);

        OnLoading<WidgetPart>((context, part) => 
            (part as dynamic).ShowInSubnav.Value = true);
    }
}
orchardcms orchardcms-1.8
2个回答
1
投票

默认值是字段的设置。将

.WithSetting("BooleanFieldSettings.DefaultValue", "true")
添加到迁移中的字段构建器。


0
投票

“默认值是字段的设置。将 .WithSetting("BooleanFieldSettings.DefaultValue", "true") 添加到迁移中的字段构建器。" --> 有人可以更详细地解释一下吗?我不明白该把代码放在哪里。谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.