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

时间:2012-05-31 12:40:26

标签: orchardcms

在自定义ContentPart的模块中,如何将字段设置为文本字段?

在我的migrations.cs类中,我创建了该部分的表:

public int UpdateFrom1()
        {
            SchemaBuilder.CreateTable("RightContentPartRecord", table =>
               table.ContentPartRecord()
                    .Column<string>("Html"));                                                      
            return 2;
        }

所以,我有一个名为Html的专栏。我想使用WYSIWYG编辑器,所以我被告知我需要一个Text字段才能让它“开箱即用”。

但是,对我来说这不会发生,所以我需要做什么才能将名为Html的列转换为部分的文本字段?

如何配置它以使用WYSIWYG编辑器?

2 个答案:

答案 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设置。