CKEDITOR.plugins.add( 'figure', { icons: 'figure', init: function( editor ) { // console.log(CKEDITOR.dtd); // console.log(CKEDITOR.dtd['span']); // CKEDITOR.dtd['figure'] = {}; // CKEDITOR.dtd.$block['figure'] = 0; // CKEDITOR.dtd.$blockLimit['figure'] = 0; // CKEDITOR.dtd.$object['figure'] = 1; // CKEDITOR.dtd.$removeEmpty['figure'] = 1; // CKEDITOR.dtd.$inline['figure'] = 1; // editor.filter.allow( 'figure' ); editor.addCommand( 'figure', new CKEDITOR.dialogCommand( 'figureDialog' ) ); editor.ui.addButton( 'Figure', { label: 'Вставьте информационный текст', command: 'figure', toolbar: 'insert' }); if ( editor.contextMenu ) { editor.addMenuGroup( 'figureGroup' ); editor.addMenuItem( 'figureItem', { label: 'Редактировать инфо. блок ', icon: this.path + 'icons/figure.png', command: 'figure', group: 'figureGroup' }); editor.on( 'doubleclick', function( evt ) { var element = evt.data.element; if ( $(element).attr('class') == 'infoblock' ){ evt.data.dialog = 'figureDialog'; evt.data.command = 'editfigure'; } } ); editor.contextMenu.addListener( function( element ) { if ( element.getAscendant( 'figure', true ) ) { return { abbrItem: CKEDITOR.TRISTATE_OFF }; } }); } CKEDITOR.dialog.add( 'figureDialog', this.path + 'dialogs/figure.js' ); } });