CKEditor Custom ACF отключает все плагины

Я пытаюсь установить явный список разрешенного содержимого в моем редакторе ck, но кажется, что я недостаточно включаю свой список, потому что почти все мои плагины отключены. Если я верну ACF в автоматический режим (удалю разрешенный контент), все плагины вернутся. Вот мой allowConent в config.js

config.allowedContent = 
{
     h1: true,
     h2: true,
     h3: true,
     'span, p, ul, ol, li,': {
         styles: 'color, margin-left, margin-right, font-size'
     },
     'a[!href,target,name]': true,
     b: true,
     u: true,
     i: true,
}

Тем не менее, единственные кнопки, которые кажутся включенными, выделены полужирным шрифтом, подчеркиванием и курсивом. Я пытаюсь понять, почему другие мои плагины не работают. Например, плагин для ссылок имеет следующее:

var allowed = 'a[!href]',
required = 'a[href]';

// Add the link and unlink buttons.
editor.addCommand( 'link', new CKEDITOR.dialogCommand( 'link', {
    allowedContent: allowed,
    requiredContent: required
} ) );
editor.addCommand( 'anchor', new CKEDITOR.dialogCommand( 'anchor', {
    allowedContent: 'a[!name,id]',
    requiredContent: 'a[name]'
} ) );

Как видите, у меня есть якорь с заданными необходимыми свойствами (якорь с href и именем), но кнопка не появляется! Я проверил правильность своего синтаксиса, распечатав CKEDITOR.instances["editor-1"].filter.allowedContent, и он показывает ожидаемый объект. Я также попытался добавить кучу общих элементов, например, посмотреть, вернет ли добавление одного из них плагины, но это не так. Итак, что мне не хватает?


person Nick M    schedule 20.03.2015    source источник


Ответы (1)


Что ж, похоже, я смешивал синтаксис объекта и синтаксис строки. Как только я это исправил, начали появляться кнопки привязки и размера шрифта. Вот что у меня есть до сих пор:

config.allowedContent = 
{
     h1: true,
     h2: true,
     h3: true,
     a: {
        attributes: ['!href','target','name']
     }, 
     b: true,
     u: true,
     i: true,
     // font-size
     span: {
         styles: { 'font-size': '#(size)' },
         overrides: [ { element :'font', attributes: { 'size': null } } ]
     }
}

Мне все еще нужно выяснить правильное определение цвета шрифта и некоторых других, но это просто вопрос проверки кода плагинов и просмотра того, что они ожидают.

person Nick M    schedule 23.03.2015