I created a plugin that allows users to insert two different types of quotes: <q> and <blockquote>. It works just fine, like this:
However, I want to remove the standard blockquote toolbar button (see red circle below) because it's redundant:
... but when I do that, the blockquote option disappears:
Here's my simple plugin.js file (there's nothing more to it):
( function() { CKEDITOR.plugins.add( 'quote', { init: function( editor ) { var items = {}; items.inlinequote = { label: 'Inline <q> quote', group: 'quote_group', command: 'inlinequote', icon: 'Blockquote', order: 1 }; items.blockquote = { label: 'Blockquote', group: 'quote_group', command: 'blockquote', icon: 'Blockquote', order: 2 }; editor.addMenuGroup( 'quote_group' ); editor.addMenuItems( items ); editor.ui.add( 'quotes', CKEDITOR.UI_MENUBUTTON, { label: 'Quote', // Disable in source mode. modes: { wysiwyg: 1 }, icon: 'Blockquote', onMenu: function() { var active = {}; // Make all items active. for ( var p in items ) active[ p ] = CKEDITOR.TRISTATE_OFF; return active; } } ); editor.addCommand( 'inlinequote', { exec: function( editor ) { editor.applyStyle(new CKEDITOR.style({ element : 'q' })); } }); } }); } )();
I already tried adding config.extraPlugins = 'blockquote'; to the main CKEditor config.js file, but that didn't help.
I also tried adding the
I also tried adding the requires : option (see 4th line below) with no success:
Please help!
I found a solution. Edit
I found a solution. Edit plugin.js in the official blockquote plugin folder and comment out the following 2 lines of code (after the init):
I've already commented out the code in the example above, and now it works!:
However, I don't like modifying offiical CKEditor plugins because I'd have to do it over again if I re-install or upgrade the plugins. There must be a way to utilize the blockquote plugin without requiring its toolbar button to show. Any ideas?
Below is the complete "extended quote" plugin.js in case anyone wants to use something similar. I want to improve the <q> tag insertion management but the basic function is here: