在自定义ContentPart的模块中,如何将字段设置为文本字段?
在我的migrations.cs类中,我创建了该部分的表:
public int UpdateFrom1()
{
SchemaBuilder.CreateTable("RightContentPartRecord", table =>
table.ContentPartRecord()
.Column<string>("Html"));
return 2;
}
所以,我有一个名为Html的专栏。我想使用WYSIWYG编辑器,所以我被告知我需要一个Text字段才能让它“开箱即用”。
但是,对我来说这不会发生,所以我需要做什么才能将名为Html的列转换为部分的文本字段?
如何配置它以使用WYSIWYG编辑器?
答案 0 :(得分:8)
如果您希望将自己的自定义内容部分的属性显示为htmleditor,请在部件的editortemplate中按如下所示进行配置。
@Script.Require("OrchardTinyMce")
@Html.TextAreaFor(x => x.Header, new { @class = "html tinymce" })
在这种情况下,“Header”属性显示为html编辑器。
如果您需要更多部分,可以考虑为其编写Html扩展或编辑器模板。
答案 1 :(得分:5)
文本字段与部件属性不同。字段不会存储为自己的数据库列。以下是如何从迁移中向零件添加字段的示例:
ContentDefinitionManager.AlterPartDefinition("Product",
builder => builder.WithField("ProductImage", fieldBuilder => fieldBuilder.OfType("MediaPickerField").WithDisplayName("Product Image")));
对于文本字段,您还需要通过将.WithSetting("Flavor", "html")
添加到字段构建器来设置flavor设置。