Magnolia 5.5.6故事App自定义CKEditor面板

时间:2017-11-08 09:42:19

标签: ckeditor magnolia

Magnolia-Team写了(DevelopingCustomBlocks),RichTextFieldDefinition不适用于Blocks。

我希望将来使用内容编辑器而不是页面。是否可以扩展编辑器面板 Editor-Panel 使用(自定义)ckeditor插件(我创建用于RichTextField)?如果是的话,你能否告诉我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

这是可能的,您甚至可以使用标准RichTextField。 然而,在你开始扩展它之前,请确保你理解新编辑器背后的想法,它的工作,它存储的数据结构以及如何操作以后的数据,以便不挖掘自己很难通过自定义扩展来逃避的漏洞。

整个编辑器意味着流畅的编辑和非常简单的操作提供最大的自由。编辑器使用块的概念。每次输入都会生成新的文本块。还有其他类型的块由Magnolia提供OOTB。每种不同类型的块都是单独存储的,它的渲染可以通过模板控制。例如。每个文本块在html中变为段落或div,具体取决于您的选择。对于其他块,它们可能会生成其他类型的元素。这就是你需要小心的地方。如果你扩展CK编辑器,或者开始使用默认/旧RichTextField,你将突然得到已经包含html的块,从而使得模板处理这样的块之后输出可能看起来像是不可预测的生成的HTML有效或格式正确。你在每个区块中“炙手可热”的html越少,模板化就越容易。

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