ckeditor自定义插件流程

http://free-kingdom.iteye.com/blog/631843

 

搞了一上午,最后发现原因原来出在某路径少打一个“/”,真是害人不浅。

 

本次只是熟悉一下写ckeditor插件的流程,所以用的是samples里api_dialog.js的代码作为弹出窗口。

 

首先第一步,在ckeditor/plugins目录下新建文件夹作为插件目录,我新建了一个myplugin文件夹。

 

然后在myplugin文件夹下新建两个东西,一个是plugin.js文件,另一个是dialogs文件夹。

 

plugin.js内容如下:

 

Js代码  收藏代码
  1. CKEDITOR.plugins.add('myplugin',  
  2.     {         
  3.         requires : ['dialog'],  
  4.         init : function (editor)  
  5.         {  
  6.             var pluginName = 'myplugin';  
  7.               
  8.             //加载自定义窗口,就是dialogs前面的那个/让我纠结了很长时间  
  9.             CKEDITOR.dialog.add('myDialog',this.path + "/dialogs/mydialog.js");  
  10.               
  11.             //给自定义插件注册一个调用命令  
  12.             editor.addCommand( pluginName, new CKEDITOR.dialogCommand( 'myDialog' ) );  
  13.               
  14.             //注册一个按钮,来调用自定义插件  
  15.             editor.ui.addButton('MyButton',  
  16.                     {  
  17.                         //editor.lang.mine是我在zh-cn.js中定义的一个中文项,  
  18.                         //这里可以直接写英文字符,不过要想显示中文就得修改zh-cn.js  
  19.                         label : editor.lang.mine,  
  20.                         command : pluginName  
  21.                     });  
  22.         }  
  23.     }  
  24. );  

 

 

然后在dialogs文件夹下新建一个mydialog.js,内容如下:

 

Js代码  收藏代码
  1. CKEDITOR.dialog.add( 'myDialog', function( editor )  
  2. {  
  3.     return {   
  4.         title : 'My Dialog',  
  5.         minWidth : 400,  
  6.         minHeight : 200,  
  7.         contents : [  
  8.             {  
  9.                 id : 'tab1',  
  10.                 label : 'First Tab',  
  11.                 title : 'First Tab',  
  12.                 elements :  
  13.                 [  
  14.                     {  
  15.                         id : 'input1',  
  16.                         type : 'text',  
  17.                         label : 'Input 1'  
  18.                     }  
  19.                 ]  
  20.             }  
  21.         ]  
  22.     };  
  23. } );  

 

 然后修改config.js文件以配置我的自定义插件,config.js内容如下:

 

Js代码  收藏代码
  1. CKEDITOR.editorConfig = function( config )  
  2. {  
  3.     config.language = 'zh-cn';  
  4.     config.skin = 'office2003';  
  5.     config.width = 800;   
  6.     config.height = 300;   
  7.     config.removePlugins = 'elementspath';  
  8.     config.extraPlugins = 'myplugin'; //新建插件  
  9.       
  10.     config.toolbar=   
  11.   
  12.         [   
  13.   
  14.         ['unlink','-','Save','unlink','Preview','-','Templates'],   
  15.   
  16.         ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],   
  17.   
  18.         ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],   
  19.   
  20.         '/',   
  21.   
  22.         ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],   
  23.   
  24.         ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],   
  25.   
  26.         ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],   
  27.   
  28.         ['Link','Unlink','Anchor'],   
  29.   
  30.         ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar',   
  31.   
  32.         'PageBreak'],   
  33.   
  34.         '/',   
  35.   
  36.         ['Styles','Format','Font','FontSize'],   
  37.   
  38.         ['TextColor','BGColor'],   
  39.   
  40.         ['Maximize','ShowBlocks','-','About','-','MyButton'] //我的按钮在最后  
  41.   
  42.         ];   
  43.   
  44.       
  45.   
  46. };  

 

然后就ok了。在作出修改之后最好清下ie缓存再刷新页面。

posted on 2015-04-10 09:36  鬼鬼丫404  阅读(273)  评论(0编辑  收藏  举报

导航