Вы можете добавить фильтр процессора HTML
editor.dataProcessor.htmlFilter.addRules({
elements :{
p : function( element ){
if ( element.className.indexOf("thiny_p") < 0){
element.className += 'thiny_p';
}
}
}
});
Кроме того, если его не требуется создавать как плагин ckedito, возможно, перед отправкой контента на сервер вы можете использовать jQuery для изменения контента
$("iframe", "#cke_editor1").contents().find("p").addClass("tiny_p");
или, если текстовая область (источник) активна
var editor= $("textarea", "#cke_editor1");
editor.val(editor.val().replace(/<p>/gi, "<p class='thiny_p'>"))
Вы должны немного подправить .replace(/<p>/gi, "<p class='thiny_p'>")
регулярное выражение для поддержки других случаев.
EDIT
Наконец-то пришло время скачать и настроить редактор на моем боксе, вот рабочий плагин
CKEDITOR.plugins.add( 'customparagraph',
{
init: function( editor )
{
editor.addCommand('addParagraphClassName',{
exec : function( editor ){
var ps = editor.document.$.getElementsByTagName("p");
for (var i=0; i < ps.length; i++){
if(ps[i].className.indexOf("thiny_p") < 0){
ps[i].className += "thiny_p";
}
}
}
});
editor.ui.addButton( 'ThinyP',{
label: 'Appends thiny_p class',
command: 'addParagraphClassName',
icon: this.path + 'images/icon.gif'
});
}
} );
положить его в plugins/customparagraph/plugin.js
также создайте изображение значка plugins/customparagraph/images/icon.gif
в конфигурации вам нужно будет добавить следующие параметры конфигурации config.js вашей установки CKEdito
CKEDITOR.editorConfig = function( config )
{
config.extraPlugins = "customparagraph";
config.toolbar = [ [ 'ThinyP' ] ]; // add other toolbars and keep in mid this can be overwritten in page which loads CKEditor
};
OR
на странице загрузки CKEditor
<script type="text/javascript">
//<![CDATA[
// Replace the <textarea id="editor1"> with a CKEditor
// instance, using default configuration.
CKEDITOR.replace( 'editor1',
{
extraPlugins : 'customparagraph',
toolbar :
[
[ 'Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink' ],
[ 'ThinyP' ]
]
});
//]]>
</script>
Пользователь должен нажать на кнопку панели инструментов перед сохранением