小编CHI*_*ItA的帖子

CKEditor5在自定义数据处理器中使用模型

我正在玩CKEDitor5,我试图创建一个自定义数据处理器.我想在toData转换中使用该模型,但是使用该view/DocumentFragment对象调用该方法.所以我的问题是如何将其转换为model/DocumentFragment对象(或如何从数据处理器访问模型).

更新(因为它不适合评论):让我试着更详细地解释我到底尝试做什么(或者我已经做到目前为止).我想出了如何使用访问模型本身,但这似乎是一个糟糕的解决方案,因为你也指出了它.

所以基本上我想创建一个DataProcessor将编辑器数据转换为BBCode,这听起来很合理.

一方面,该toView方法很简单,因为可以假设BBCode到HTML的转换已经实现(在我的例子中).从HTML中加载编辑器数据似乎是微不足道的(通过Markdown处理器使用的相同过程).

另一方面,从模型数据而不是视图转换为BBCode似乎更容易.主要是因为view/DocumentFragment视图树的对象和其余部分几乎只是DOM或HTML的另一种表示形式.我真的不关心粗体是否<b><strong>我只是想知道text节点是否具有该bold属性.

通过使用该模型,我希望使用语义而不是HTML中使用的表示.基本上将所有HTML标签映射到他们的BBCode等价物似乎有点无意义(即使CKE5在提供一致的HTML标签方面做得很好).所以从我的角度来看,使用模型更有意义.从语义表示转换为"数据格式"比转换为"数据格式"(视图树,DOM,HTML,摩尔斯电码)然后在此之后创建"表示图"更容易.

很长一段时间阻止我们使用RTE或WYSIWYG编辑器的确是从HTML转换为BBCode的难度.现在CKE5有了模型,它似乎很容易转换成任何东西,因为它不仅是HTML格式的独立,而是编辑器中显示的HTML(这不能说是视图树,因为它完全是HTML中的编辑 - 至少它不是满足任何可能产生的,但仍然不够好).

另外:我只是Plugin设置了一个DataProcessor,因为这就是Markdown特性所做的那样(在某个地方的文档中).这是个坏主意吗?

再次感谢您的回答.

ckeditor ckeditor5

0
推荐指数
1
解决办法
293
查看次数

标签 统计

ckeditor ×1

ckeditor5 ×1