Plugins CKEditor 4.1+;插件的ACF

Plugins CKEditor 4.1+;插件的ACF,plugins,ckeditor,advanced-custom-fields,Plugins,Ckeditor,Advanced Custom Fields,在自定义CMS的上下文中,我用自己的对话框和命令替换了默认的“链接”和“图像”按钮,以便能够通过从自定义对话框中选择链接到现有CMS页面和文件 在旧版本的CKEditor中,没有ACF,所以这没有问题 在4.1+中,如果我不包括原始的“链接”和“图像”按钮,则来自新按钮的结果将被ACF过滤。插件本身工作得很好,但我不知道如何让ACF自动允许链接和图像 *我对禁用ACF不感兴趣*,我只想让插件正常工作 允许我的按钮(链接内容、图像选择和文件选择)工作的工具栏配置示例: 如果我使用以下选项,则会过滤

在自定义CMS的上下文中,我用自己的对话框和命令替换了默认的“链接”和“图像”按钮,以便能够通过从自定义对话框中选择链接到现有CMS页面和文件

在旧版本的CKEditor中,没有ACF,所以这没有问题

在4.1+中,如果我不包括原始的“链接”和“图像”按钮,则来自新按钮的结果将被ACF过滤。插件本身工作得很好,但我不知道如何让ACF自动允许链接和图像

*我对禁用ACF不感兴趣*,我只想让插件正常工作

允许我的按钮(链接内容、图像选择和文件选择)工作的工具栏配置示例:

如果我使用以下选项,则会过滤掉按钮中的内容:

{ name: 'links',       items : [ 'LinkContent', 'ImageSelect', 'FileSelect' ] }
在我的插件定义中,我添加了我认为合适的ACF设置。在my ImageSelect插件文件中:

CKEDITOR.plugins.add('imageselector', {

init: function( editor ) {

    editor.addCommand( 'imageselectorDialog', new CKEDITOR.dialogCommand ( 'imageselectorDialog', {
        allowedContent: 'img[alt,!src]{width,height}',
        requiredContent: 'img',
        exec: function( editor ) {
...

我很想知道如何更正此问题,而不必在我自己的按钮旁边添加默认按钮。

好的,因此我的解决方案实际上是正确的。与大多数CKEditor挫折一样,它看起来不正确的原因是因为CKEditor的缓存往往非常持久(*实际上不是由CKEditor缓存的--请参阅下面的注释)

在我的更改被拉到其他人的结账台后,插件工作得很好

第一课--尝试调试CKEditor问题时,每次更改都会完全清除缓存


编辑——澄清缓存不是由CKEditor完成的,因为有人抱怨。

“CKEditor倾向于非常持久地使用其缓存”它不是CKEditor缓存。是浏览器!从技术上讲是正确的,但使用CKEditor.true时,浏览器缓存持久化的唯一原因是包含文件的级联。这就是为什么我们将在下一个CKEditor版本中去掉单独的配置文件的原因之一。
CKEDITOR.plugins.add('imageselector', {

init: function( editor ) {

    editor.addCommand( 'imageselectorDialog', new CKEDITOR.dialogCommand ( 'imageselectorDialog', {
        allowedContent: 'img[alt,!src]{width,height}',
        requiredContent: 'img',
        exec: function( editor ) {
...