使用提及/自动完成插件的CKEditor中的自定义输出模板

时间:2018-08-08 14:18:34

标签: javascript ckeditor4.x

我将CKEditor 4.10.0与基于自动完成插件的新提及插件一起使用。要自定义接受的项目,我使用outputTemplate选项,如下所示:

outputTemplate: "{{display}}"

从Feed中接受自动填充项目时的预期结果

[
  {"id" : "0", "name" : "John", "display" : "John"},
  {"id" : "1", "name" : "Charles", "display" : "Charles"},
  {"id" : "2", "name" : "Andre", "display" : "Andre"}
]

将会

{John}

例如,但是使用上面的outputTemplate,结果是

{{display}}

我尝试了以下替代方法outputTemplate

outputTemplate: "[{display}]"

这将使我接受的物品按预期显示:

[John]

不幸的是,我需要坚持使用第一个输出模板,因为我需要将结果用大括号括起来。我在core / template.js中的模板占位符的正则表达式中发现了“错误”(如果是错误)

var rePlaceholder = /{([^}]+)}/g;

如果我将其更改为

var rePlaceholder = /{([^{}]+)}/g;

然后我的第一个outputTemplate会按预期工作。显然,我不想更改CKEditor的核心代码,并且我不知道有任何意外的副作用。

有人有替代解决方案吗? 这是对核心的合理请求吗?

0 个答案:

没有答案