CKeditor:通过CKeditor的配置配置插件

时间:2012-04-16 15:18:04

标签: plugins ckeditor

我正在寻找在CKEditor配置中使用参数配置我的插件的技巧。我必须传递一些我只能在显示视图时才能传递的参数。

我想要这样的东西(使用jQuery适配器的示例):

jQuery('textarea.wysiwyg').ckeditor(function(){},{
        'width'             : '640px',
        'resize_maxWidth'   : '640px', 
        'extraPlugins'      : 'my_plugin',
        'toolbar'           : [['Bold', 'Italic', '-', 'NumberedList', 'BulletedList'],['Link', 'Unlink','-','MyPlugin'],['Paste','PasteFromWord'],['Source']]
        'my_plugin'         : {
              'param1'      : 'value1',
              'param2'      : 'value2',
        }

});

但是我还没有找到有关CKEditor的插件配置的任何信息。

2 个答案:

答案 0 :(得分:4)

我回答我自己的问题: 插件方法init接收编辑器作为参数,编辑器包含config(可以称为editor.config),因此您可以访问在创建ckeditor实例时定义的所有配置。

我的第一篇文章中的示例,您可以像这样访问插件中的配置:

CKEDITOR.plugins.add( 'my_plugin',
{
    init: function( editor )
    {
        var param1 = editor.config.value1;
    }
}

我认为这不是最好的方法,因为它为CKEDITOR.config原型添加了一些额外的属性。最好有一个属性CKEDITOR.config.extraConfig,它是插件的属性映射。

答案 1 :(得分:1)

在编辑器初始化期间将值传递给插件

jQuery('textarea.wysiwyg').ckeditor(function(){}, 
{
        config.extraConfig : { 'param1' : 'value1', 'param2' : 'value2' }
});

并访问插件中的值

CKEDITOR.plugins.add( 'my_plugin',
{
    init: function( editor )
    {
        var param1 = editor.extraConfig.param1;
        var param2 = editor.extraConfig.param2;
    }
}