/* CKEDITOR.plugins.add('newPlugin',{ init: function(editor){ var cmd = editor.addCommand('newPlugin', { exec:function(editor){ editor.insertHtml( (new Date()).toString() ); // собственно сама работа плагина } }); cmd.modes = { wysiwyg : 1, source: 1 };// плагин будет работать и в режиме wysiwyg и в режиме исходного текста editor.ui.addButton('newPlugin',{ label: 'Добавить текущую дату и время', command: 'newPlugin', toolbar: 'about' }); }, icons:'personage', // иконка }); */ (function() { CKEDITOR.plugins.add( 'newPlugin',function( editor ) { var pluginName = 'newPlugin'; // регистрируем диалоговое окно CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/' + pluginName + '.js' ); // связываем диалоговое окно с командой pluginName // команда pluginName отдается при нажатии иконки на тулбаре editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) ); // добавляем css для иконки в редакторе var basicCss = 'background:url(' + CKEDITOR.getUrl( this.path + 'icons/personage.png' ) + ') no-repeat left center;' + 'border:1px dotted #aaa;'; editor.addCss( 'img.' + pluginName + '{' + basicCss + 'width:32px;' + 'min-height:31px;' + // The default line-height on IE. 'height:1.15em;' + // Opera works better with "middle" (even if not perfect) 'vertical-align:' + ( CKEDITOR.env.opera ? 'middle' : 'text-bottom' ) + ';' + 'border-collapse: collapse;' + '};'); // обрабатываем двойной клик в редакторе editor.on( 'doubleclick', function( evt ) { var element = evt.data.element; // если с атрибутом как название плагина, то откроем диалоговое окно if ( element.is( 'img' ) && element.getAttribute( pluginName ) ) evt.data.dialog = pluginName; } ); // добавляем кнопку на тулбар if(editor.ui.addButton) { editor.ui.addButton( 'newPlugin', { label: 'Птуц', command: 'newPlugin', toolbar: 'about' } ); } }); })();