Ckeditor Magnolia 5.5.6 Stories应用程序自定义编辑面板

Ckeditor Magnolia 5.5.6 Stories应用程序自定义编辑面板,ckeditor,magnolia,Ckeditor,Magnolia,Magnolia团队写道RichTextFieldDefinition不适用于区块 我希望将来使用内容编辑器而不是页面。是否可以扩展编辑器面板 使用(自定义)ckeditor插件(我创建用于RichTextField)?如果是的话,你能给我一个如何做到这一点的提示吗 这是可能的,您甚至可以使用标准的RichTextField。 然而,在开始扩展它之前,请确保您了解新编辑器背后的想法、它的工作原理、它存储的数据结构以及以后如何处理这些数据,以避免为自己挖一个自定义扩展很难逃脱的洞 整个编辑器意味着

Magnolia团队写道RichTextFieldDefinition不适用于区块

我希望将来使用内容编辑器而不是页面。是否可以扩展编辑器面板
使用(自定义)ckeditor插件(我创建用于RichTextField)?如果是的话,你能给我一个如何做到这一点的提示吗

这是可能的,您甚至可以使用标准的
RichTextField
。 然而,在开始扩展它之前,请确保您了解新编辑器背后的想法、它的工作原理、它存储的数据结构以及以后如何处理这些数据,以避免为自己挖一个自定义扩展很难逃脱的洞

整个编辑器意味着编辑流畅,操作简单,提供最大的自由度。编辑器使用块的概念。每次按enter键都会生成新的文本块。Magnolia还提供其他类型的木块。每个不同类型的块都单独存储,其渲染可以由模板控制。例如,根据您的选择,每个文本块在html中成为段落或div。对于其他块,它们可能会生成其他类型的元素。这就是你需要小心的地方。如果您扩展CK编辑器,或者开始使用default/old
RichTextField
,您将突然得到已经包含html的块,从而无法预测模板处理此类块后的输出外观,以及生成的html是否有效或格式是否正确。在每个块中“烘焙”的html越少,模板化就越容易

至于向文本块添加额外插件,您可以修改编辑器的
config.js
,至于添加
RichTextField
,您只需创建将提供此字段的块即可。但是,请记住,第一种方法可能会引入潜在危险的html,第二种方法可能会在危险的html和顶级编辑器体验中烘焙,因为RTF不支持其他块可用的相同键盘快捷键