问题
If I want to add a tab to the links plugin, what\'s the best practice approach? I don\'t want to alter the release code just override it with a version with my customizations. So it\'s easy to update with new releases. Does CKEDITOR 4.2 have a how-to for this? I\'m using the new inline style toolbars.
If I get the source code can I rebuild the release version without the links plugin? and then do an external plugin using my customized version of the links plugin?
回答1:
You got to observe dialogDefinition event to do this:
CKEDITOR.on( 'dialogDefinition', function( evt ) {
var dialog = evt.data;
if ( dialog.name == 'link' ) {
// Get dialog definition.
var def = evt.data.definition;
// Add some stuff to definition.
def.addContents( {
id: 'custom',
label: 'My custom tab',
elements: [
{
id: 'myField1',
type: 'text',
label: 'My Text Field'
},
{
id: 'myField2',
type: 'text',
label: 'Another Text Field'
}
]
});
}
} );
CKEDITOR.replace( 'editor1' );
You can also remove existing fields:
var someTab = def.getContents( 'someTab' );
someTab.remove( 'someField' );
Or modify them:
var input = someTab.get( 'input' );
input[ 'default' ] = 'www.example.com';
Or event remove the whole tab:
def.removeContents( 'anotherTab' );
来源:https://stackoverflow.com/questions/18133800/how-do-i-customize-a-ckeditor-4-2-builtin-plugin-like-links