Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orchardcms Orchard CMS 1.4:向自定义ContentPart添加文本字段_Orchardcms - Fatal编程技术网

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

Orchardcms Orchard CMS 1.4:向自定义ContentPart添加文本字段,orchardcms,Orchardcms,在自定义ContentPart的模块中,如何将字段设置为文本字段 在migrations.cs类中,我为零件创建了表: public int UpdateFrom1() { SchemaBuilder.CreateTable("RightContentPartRecord", table => table.ContentPartRecord() .Column<string&

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

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

public int UpdateFrom1()
        {
            SchemaBuilder.CreateTable("RightContentPartRecord", table =>
               table.ContentPartRecord()
                    .Column<string>("Html"));                                                      
            return 2;
        }
public int UpdateFrom1()
{
SchemaBuilder.CreateTable(“RightContentPartRecord”,table=>
表.ContentPartRecord()
。栏(“Html”);
返回2;
}
所以,我有一个专栏叫Html。我想使用WYSIWYG编辑器,所以我被告知我需要一个文本字段来让它“开箱即用”

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


如何将其配置为使用所见即所得编辑器?

文本字段与零件属性不同。字段不会存储为其自己的数据库列。以下是如何从移植中将字段添加到零件的示例:

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

对于文本字段,您还需要通过向字段生成器添加
。使用(“flavor”,“html”)
来设置样式设置。

如果您希望自定义contentpart的属性显示为htmleditor,请在部件的editortemplate中按如下方式配置它

@Script.Require("OrchardTinyMce")
@Html.TextAreaFor(x => x.Header, new { @class = "html tinymce" }) 
在这种情况下,“Header”属性显示为html编辑器


如果你在更多的部分需要这个,你可以考虑为它编写一个HTML扩展或编辑器模板。p> 感谢我到了那里,我现在的问题是,由于字段不是零件模型的一部分,因此它不是形状的一部分。因此,当我尝试放置零件(使用Pete Hurst的ZoneProxy代码)时,结果表明该字段是具有通用名称的不同形状的一部分,因此不放置。有没有办法使场成为形状的一部分?或者控制字段的形状名称,以便我可以精确地单独放置它(而不是使用相同的名称在页面上放置所有其他字段形状,例如,字段\公共\文本)?或者是否有方法使字段成为零件属性,以便它共享形状…否。这不是你需要的领域。请看身体部位是如何建造的,并将其复制到您的。对不起,我已经看过了,但找不到身体部位是如何建造的,您能给我指一下吗?Thanks@awrigley您不能将该字段作为placement.info文件的一部分吗?(或者我误解了您的意图吗?)这非常好,适用于零件上的任意

string
属性。不过,对我来说,有一个小小的“问题”是,在调用
@Script之前,我必须定义javascript变量
mediaPickerEnabled
mediaLibraryEnabled
。需要
,才能让TinyMce脚本满意。(顺便说一句,对于未来的读者,我正在进行1.7.2安装)