首页 > 代码库 > CKEditor 添加自定义按钮

CKEditor 添加自定义按钮

1、下载ckeditor,我这里下载的是CKEditor 3.6.2。

2、里边有压缩过的代码及源码,源码所在目录为_source,还有一些使用例子,具体不做累述

此处主要讲的是在使用过程需要添加自定义按钮。

 

2. 比如我要添加“插入代码”的按钮,起名为code。在ckeditor/plugins下新建文件夹code,在code文件夹里加入一个小图片如code.gif,然后在code文件夹里新建plugin.js文件,内容如下:

//一键排版
(function () {

 b = ‘format_wz‘;

 CKEDITOR.plugins.add(b, {

       requires: [‘styles‘, ‘button‘],

       init: function (a) {

               a.addCommand(b, CKEDITOR.plugins.autoformat.commands.autoformat);

               a.ui.addButton(‘format_wz‘, {

                      label: "一键排版",

                      command: ‘format_wz‘,

                      icon: this.path + "format_wz.png"

          });

       }

 });

 CKEDITOR.plugins.autoformat = {

     commands: {

          autoformat: {

                exec: function (editor) {

                     formatText(editor);

               }

         }

    }

};

  //执行的方法
    function formatText(editor) {

         var myeditor = editor;

          //得到要编辑的源代码       
          var editorhtml = myeditor.getData();
         //在这里执行你的操作。。。。。

      editorhtml= editorhtml.replace(/(<\/?(?!br|p|img|a|h1|h2|h3|h4|h5|h6)[^>\/]*)\/?>/gi,‘‘);    
        //在p标签处添加样式,使每个段落自动缩进两个字符
        editorhtml= editorhtml.replace(/\<[p|P]>/g,"<p style=‘text-indent: 2em‘>");

           //再将内容放回到编辑器中
          editor.setData(html);

  }

 })();

3. 修改config.js来注册code插件。用如下代码替换config.js原来内容:

 

CKEDITOR.editorConfig = function( config ) {  

 //配置CKFinder

 config.extraPlugins = "code,uploadImg";

//新建插件  config.toolbar_temp =         [       

   { name: ‘document‘, items: [‘code‘,‘format_wz‘, ‘Save‘] },        

         { name: ‘styles‘, items: [‘Styles‘, ‘Format‘, ‘Font‘, ‘FontSize‘] }         ];

   config.toolbar_Full =         [        

  { name: ‘document‘, items: [‘code‘, ‘Source‘,‘-‘,‘format_wz‘,‘-‘, ‘Save‘, ‘NewPage‘, ‘DocProps‘, ‘Preview‘, ‘Print‘, ‘-‘, ‘Templates‘] },            

     { name: ‘tools‘, items: [‘Maximize‘, ‘ShowBlocks‘, ‘-‘, ‘About‘] }         ];    

};

注意我的CKEditor配置都是通过修改config.js来完成

4. 安装CKEditor,在要引入CKEditor的页面中script标签内添加如下js代码:

var editor=CKEDITOR.replace(‘p_Content_content‘,{
          fullPage: true,
          extraPlugins: ‘uploadImg,format_wz,docprops‘
      });
      CKFinder.setupCKEditor(editor, ‘ckfinder‘);

5.刷新页面,就能看到自己后添加的按钮了。