//Code based on: http://www.kuba.co.uk/blog.php?blog_id=15 CKEDITOR.plugins.add( 'tokens', { requires : ['richcombo'], //, 'styles' ], init : function( editor ) { var config = editor.config, lang = editor.lang.format; // Gets the list of tags from the settings. var tags = []; //new Array(); //this.add('value', 'drop_text', 'drop_label'); // Create style objects for all defined styles. editor.ui.addRichCombo( 'tokens', { label : "", title :"", voiceLabel : "", className : 'cke_format', multiSelect : false, panel : { css : [ config.contentsCss, CKEDITOR.getUrl( editor.skinPath + 'editor.css' ) ], voiceLabel : lang.panelVoiceLabel }, init : function() { this.startGroup( "" ); //this.add('value', 'drop_text', 'drop_label'); for (var this_tag in tags){ this.add(tags[this_tag][0], tags[this_tag][1], tags[this_tag][2]); } }, onClick : function( value ) { editor.focus(); editor.fire( 'saveSnapshot' ); editor.insertHtml(value); editor.fire( 'saveSnapshot' ); } }); } });