当前位置 博文首页 > fckeditor 插件开发参考文档

    fckeditor 插件开发参考文档

    作者:admin 时间:2021-09-02 19:04

    一:插件的目录结构
    插件目录的名称必须和插件的名称一样,而且目录里面必须包含一个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://blog.iis7.com/article/18660.htm

    jsjbwy