Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Ckeditor TYPO3 CKE编辑器允许数据属性_Ckeditor_Typo3_Typo3 9.x - Fatal编程技术网

Ckeditor TYPO3 CKE编辑器允许数据属性

Ckeditor TYPO3 CKE编辑器允许数据属性,ckeditor,typo3,typo3-9.x,Ckeditor,Typo3,Typo3 9.x,我补充说 - { name: "Data Test", element: "p", attributes: { 'data-test': "test" } } 到我的yaml配置。我可以在编辑器代码中选择数据属性(并查看它是否正确)。但在保存内容之后,elmenttypo3也从代码中删除了数据tesst=“test” 我怎样才能解决这个问题? 谢谢你的帮助! 马丁 这取决于很多因素和你的其他配置,但你似乎是。一种非常常见的方法是将extralallowedcontent定义为yaml中的附加配

我补充说

- { name: "Data Test", element: "p", attributes: { 'data-test': "test" } }
到我的yaml配置。我可以在编辑器代码中选择数据属性(并查看它是否正确)。但在保存内容之后,elmenttypo3也从代码中删除了数据tesst=“test”

我怎样才能解决这个问题? 谢谢你的帮助! 马丁


这取决于很多因素和你的其他配置,但你似乎是。一种非常常见的方法是将
extralallowedcontent
定义为yaml中的附加配置设置,如:

editor:
  config:
    extraAllowedContent: '*(*)[data-*]'
或者如果我正确理解了另一行,也允许dt/dd/dl:

editor:
  config:
    extraAllowedContent:
      - '*(*)[data-*]'
      - dd
      - dl
      - dt
如果是后者,也许值得一看,以便获得创建该列表的按钮。

我找到了解决方案:

    extraAllowedContent:
  p[data-test];

要允许将数据属性从RTE字段保存到db,您需要确保:

1) RTE(CKEditor)不会剥离属性。这可以使用extraAllowedContent进行配置。下面是一个示例,说明如何在允许数据属性和类的默认规则之外允许id属性

editor:
  config:
    extraAllowedContent:
      - "*(*)[data-*]"
      - "*[id]"
如果只需要添加数据属性,则不需要上面的配置,可以使用默认配置(从rte_ckeditor/configuration/rte/Editor/Base.yaml),因为默认情况下允许使用数据属性

要测试此配置部分,请转到您的RTE,单击“查看源”按钮切换回并再次切换,查看属性是否消失。 如果它仍然存在,则表示RTE配置允许它

2) 然后,您需要配置PHP方面的内容—在数据保存到db之前发生的数据转换。参见手册第章:

下面是一个示例(取自RTE yaml preset),它允许数据abc属性进行转换(除了默认情况下允许的属性)


因此,在您的情况下,转换部分缺少正确的配置。

保存后,您是否仍能在后端看到该属性?如果是,请查看lib.parsefunc_RTE,了解richtext如何为前端进行消毒。请添加您的T3版本3.9.5。否,数据属性在后端保存后也将被删除。在保存到后端之前,我只能在代码中看到数据属性对不起,我对CKEditor配置不是很熟练。请张贴您的整个配置,包括相关页面,我会看看。我也很好奇如何做到这一点。对不起,yaml太长,无法在commment中发布。我会试着发表一些评论。页面ts:RTE{default{preset=mw_theme}}zbuttons:link:relAttribute:enabled:true targetSelector:disabled:false属性:类:AllowedClass:'button,button_hell'标题:只读:false导入:-{resource:'EXT:RTE_ckeditor/Configuration/RTE/Processing.yaml}-{resource:“EXT:rte_ckeditor/Configuration/rte/Editor/Base.yaml”}-{resource:“EXT:rte_ckeditor/Configuration/rte/Editor/Plugins.yaml”}谢谢!但是额外允许的内容:“()[data-*]”似乎不起作用。此外,这已在Base.yaml中定义。
    extraAllowedContent:
  p[data-test];
editor:
  config:
    extraAllowedContent:
      - "*(*)[data-*]"
      - "*[id]"
processing:
  allowAttributes: [class, id, title, dir, lang, xml:lang, itemscope, itemtype, itemprop, data-abc]