CKEditor 4.1+ ACF для плагинов

В контексте настраиваемой CMS я заменил стандартные кнопки «Ссылка» и «Изображение» моими собственными диалоговыми окнами и командами, чтобы иметь возможность ссылаться на существующие страницы и файлы CMS, выбирая их в своих настраиваемых диалоговых окнах.

В более старых версиях CKEditor не было ACF, так что это не было проблемой.

В версии 4.1+, если я не включу исходные кнопки «Ссылка» и «Изображение», результаты моих новых кнопок будут отфильтрованы ACF. Сами плагины работают нормально, но я не могу понять, как заставить ACF автоматически разрешать ссылки и изображения.

* Я НЕ ЗАИНТЕРЕСОВАН В ОТКЛЮЧЕНИИ ACF *, я просто хочу, чтобы плагины работали нормально.

Пример конфигурации панели инструментов, которая позволяет моим кнопкам (LinkContent, ImageSelect и FileSelect) работать:

{ name: 'links',       items : [ 'Link', 'LinkContent', 'Image', 'ImageSelect', 'FileSelect' ] }

Если я использую следующее, содержимое моих кнопок будет отфильтровано:

{ name: 'links',       items : [ 'LinkContent', 'ImageSelect', 'FileSelect' ] }

В своих определениях плагинов я добавил то, что, как я думал, было подходящими настройками ACF. В моем файле плагина 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 ) {
...

Хотелось бы узнать, как исправить это, не добавляя кнопки по умолчанию вместе с моими собственными.


person Trip    schedule 28.08.2014    source источник


Ответы (1)


Итак, мое решение действительно правильное. Как и в случае с большинством разочарований CKEditor, причина, по которой он выглядел некорректно, заключается в том, что CKEditor имеет тенденцию к очень настойчивому кешированию (* на самом деле не кэшируется CKEditor - см. Комментарии ниже).

После того, как мои изменения были внесены в чужую кассу, плагины работали отлично.

Урок - Полностью очищайте кеш с КАЖДЫМ изменением при попытке отладить проблемы CKEditor.

РЕДАКТИРОВАТЬ - пояснил, что CKEditor не выполняет кеширование, потому что кто-то пожаловался.

person Trip    schedule 28.08.2014
comment
CKEditor имеет тенденцию к постоянному кэшированию Это не кеширование CKEDITOR. Это браузер! - person Reinmar; 29.08.2014
comment
Технически верно, но уникальный каскад включаемых файлов делает кеширование браузера постоянным при использовании CKEditor. - person Trip; 30.08.2014
comment
Тоже правда. Это одна из причин, по которой мы избавимся от отдельных файлов конфигурации в следующей версии CKEditor. - person Reinmar; 30.08.2014