Orchard CMS 1.4:向自定义ContentPart添加文本字段

awr*_*ley 4 orchardcms

在自定义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扩展或编辑器模板.


Ber*_*Roy 5

文本字段与部件属性不同.字段不会存储为自己的数据库列.以下是如何从迁移中向零件添加字段的示例:

        ContentDefinitionManager.AlterPartDefinition("Product",
          builder => builder.WithField("ProductImage", fieldBuilder => fieldBuilder.OfType("MediaPickerField").WithDisplayName("Product Image")));
Run Code Online (Sandbox Code Playgroud)

对于文本字段,您还需要通过添加.WithSetting("Flavor", "html")到字段构建器来设置flavor设置.