fckeditor 插件开发参考文档

  一:插件的目录结构

  插件目录的名称必须和插件的名称一样,而且目录里面必须包含一个fckplugin.js文件。可选包含一个lang目录用来实现界面的国际化。每一个文件定义一种语言,文件名不包含.js,用FCKConfig.Plugins.Add()注册。如果实现的插件命令没有界面,也可以不需要支持任何语言。

  比如:findreplace插件的目录结构如下:

  /editor/plugins/findreplace/fckplugin.js

  /editor/plugins/findreplace/lang/en.js

  /editor/plugins/findreplace/lang/zh.js

  在fckplugin.js文件中定义你的插件,同时也应该注册改命令,以及创建一个工具栏按钮。

  注册代码说明:

  

复制代码 代码如下:

  //注册命令,RegisterCommand(命令名,命令)

  FCKCommands.RegisterCommand(

  'My_Find',

  new FCKDialogCommand(

  FCKLang['DlgMyFindTitle'],

  FCKLang['DlgMyFindTitle'],

  FCKConfig.PluginsPath + 'findreplace/find.html', 340, 170));

  FCKCommands.RegisterCommand('My_Replace',

  new FCKDialogCommand(

  FCKLang['DlgMyReplaceTitle'],

  FCKLang['DlgMyReplaceTitle'],

  FCKConfig.PluginsPath + 'findreplace/replace.html', 340, 200)) ;

  //创建工具栏按钮,现创建,再注册。

  var oFindItem = new FCKToolbarButton('My_Find', FCKLang['DlgMyFindTitle']);

  oFindItem.IconPath = FCKConfig.PluginsPath + 'findreplace/find.gif' ;

  FCKToolbarItems.RegisterItem( 'My_Find', oFindItem ) ;

  var oreplaceItem = new FCKToolbarButton( 'My_Replace', FCKLang['DlgMyReplaceTitle']);

  oreplaceItem.IconPath = FCKConfig.PluginsPath + 'findreplace/replace.gif';

  FCKToolbarItems.RegisterItem('My_Replace', oreplaceItem);

  二:安装插件:

  安装前把解压的包拷贝到editor/plugins目录下,然后按下列步骤进行:

  1、先确定按钮在工具栏的位置

  最好在定制的配置文件中,新写一个工具栏来包含新的插件。

  定制配置文件:

  

复制代码 代码如下:

  FCKConfig.ToolbarSets['PluginTest'] = [

  ['Source'],

  ['Placeholder'],

  ['My_Find', 'My_Replace'],

  ['Table','-',

  'TableInsertRow', 'TableDeleteRows',

  'TableInsertColumn', 'TableDeleteColumns',

  'TableInsertCell', 'TableDeleteCells',

  'TableMergeCells', 'TableSplitCell'

  ],

  ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']

  ] ;

  2:添加插件同样,可以直接在定制文件中添加插件。可以直接把插件放置到默认目录下,或者在FCKConfig.Plugins.Add方法里面的第三个参数指定插件所在的位置。

  //代码分析:

  引用内容

  

复制代码 代码如下:

  FCKConfig.Plugins.Add( pluginName, availableLanguages, pathToPlugin )

  pluginName: 插件名称或者插件目录名称.

  availableLanguages: 逗号分割的可用语言列表.

  pathToPlugin: 绝对路径,指插件的所占目录,包括插件本身一层目录

  在默认位置添加插件

  引用内容

  

复制代码 代码如下:

  FCKConfig.Plugins.Add( 'findreplace', 'en,it' ) ;

  在其他位置添加插件,在add方法传递插件的绝对路径。

  引用内容

  

复制代码 代码如下:

  FCKConfig.PluginsPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + '_samples/_plugins/' ;

  var sOtherPluginPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + 'editor/plugins/' ;

  FCKConfig.Plugins.Add( 'placeholder', 'en,it', sOtherPluginPath ) ;

  FCKConfig.Plugins.Add( 'tablecommands', null, sOtherPluginPath ) ;

  http://www.glzy8.com/article/18660.htm