2013-06-18 3 views
1

Кажется, что некоторые плагины CKEditor указывают значения свойств. Например, слева направо плагин имеет следующее правило:CKEditor. Используйте правило Advanced Content Filter для указания значений.

{ 
    "styles":null, 
    "requiredStyles":null, 
    "classes":null, 
    "requiredClasses":null, 
    "attributes":{ 
    "dir":"ltr" 
    }, 
    "requiredAttributes":{ 
    "dir":true 
    }, 
    "elements":{ 
    "span":true 
    }, 
    "featureName":"styles", 
    "propertiesOnly":false, 
    "match":null 
}, 

Как можно задать значения с правилами форматирования строки? Что-то вроде span[!dir=ltr].

+0

Вы хотите, чтобы эти правила вернулись в строчном формате, я прав? – oleq

+0

Вы правы! И я не знаю, как перевести атрибуты '': {"dir": "ltr"} '. –

ответ

3

Вы не можете. Формат String не допускает такого определения. Вы можете указать span[!dir], поэтому все пролеты требуют атрибута dir и ничего больше. С определением объекта вы можете сделать больше, например. функции использования:

... 
'ul, li: true, 
'$0': { 
    match: function(el) { 
     return el.name == 'b'; 
    }, 
    propertiesOnly: true, 
    attributes: 'dir' 
} 
'$1': { 
... 

Почему вы упорствуете в использовании строкового формата? Вы можете использовать объекты и хранить их как JSON.

+0

Стоит отметить, что функция 'match' проверяет, должно ли это правило применяться к данному элементу. Таким образом, вы можете проверить там значение 'el.attributes.dir' и вернуть' false', чтобы пропустить элемент, который имеет неправильное значение. Если это единственное правило, разрешающее атрибут 'dir', то он будет удален. – Reinmar

+0

Спасибо. Есть ли документы об этом? Что такое '$ 0'? Я могу сохранить его как формат объекта. Я, хотя объект имеет ту же способность, что и строковый формат. –

Смежные вопросы