2013-12-15 3 views
3

Я использую CKeditor V3.x, и у меня есть несколько экземпляров на одной странице. Я должен добавить пользовательские стили для клиента, так что я использовал CKEDITOR.stylesSet.add как это (как указано в документации http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Styles):Mulitple Instanced CKEditor & CKEDITOR.stylesSet.add

CKEDITOR.stylesSet.add('mystyles', 
    [ 
     { name : 'Quote onderschrift', element : 'p', attributes : { 'class' : 'quote_sub' } }, 
     { name : 'Inleiding', element : 'p', attributes : { 'class' : 'inleiding' } } 
    ]); 
    config.stylesSet = 'mystyles'; 

Это делает работу, когда только имея один редактор на странице. Когда у меня больше редакторов на одной странице, я получаю следующую ошибку (через Firebug):

uncaught exception: [CKEDITOR.resourceManager.add] Имя ресурса «mystyles» уже зарегистрировано.

В результате я не получаю никаких редакторов вообще. Хотя эта ошибка может показаться логичной, я бы хотел ее решить. На данный момент мне удалось решить следуя этой теме Adding custom styles to CKEditor, поэтому я решил добавление пользовательских стилей на самой странице, а что в конфигурации, как это:

CKEDITOR.replace('post_description', { 
    stylesSet : 
    [ 
     { name : 'Quote onderschrift', element : 'p', attributes : { 'class' : 'quote_sub' } }, 
     { name : 'Inleiding', element : 'p', attributes : { 'class' : 'inleiding' } } 
    ] 
});: 

Как уже говорилось, это работает заставляет меня используйте это исправление на всех страницах, где мне нужны пользовательские стили. Есть ли лучшее решение о том, как это исправить? Я бы предпочел, чтобы стиль был добавлен в основной файл конфигурации. Любая помощь будет принята с благодарностью.

ответ

3

Я получал такую ​​же ошибку только с одним редактором на странице. Я исправил его, установив stylesSet в основной конфигурации как определение стилей, которое я хотел.

config.stylesSet = [{name:"Blue Title",element:"h3",styles:{color:"Blue"}},{name:"Red Title",element:"h3",styles:{color:"Red"}}]; 

Это не идеальное решение, но оно выполняет свою работу.

+0

Эй, Джо, спасибо за ваш ответ. Я думаю, на данный момент это будет лучшим решением для меня, поскольку я могу устанавливать стили во всем мире, не получая ошибок. Спасибо, что поделился! –

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