4

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

在我的 migrations.cs 类中,我为部件创建了表:

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

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

但是,这对我来说并没有发生,所以我需要做什么才能将我的名为 Html 的列转换为部件上的 Text 字段?

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

4

2 回答 2

8

如果您希望自己的自定义 contentpart 的属性显示为 htmleditor,请在您的 part 的 editortemplate 中进行如下配置。

@Script.Require("OrchardTinyMce")
@Html.TextAreaFor(x => x.Header, new { @class = "html tinymce" }) 

在这种情况下,'Header' 属性显示为 html 编辑器。

如果您需要更多部分,您可以考虑为其编写 Html 扩展或编辑器模板。

于 2012-12-04T07:56:49.327 回答
5

文本字段与部件属性不同。字段不存储为它们自己的数据库列。以下是如何将字段添加到迁移中的部件的示例:

        ContentDefinitionManager.AlterPartDefinition("Product",
          builder => builder.WithField("ProductImage", fieldBuilder => fieldBuilder.OfType("MediaPickerField").WithDisplayName("Product Image")));

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

于 2012-05-31T16:23:22.650 回答