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