3

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

我想要这样的东西(带有 jQ​​uery 适配器的示例):

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 进行插件配置的信息。

4

2 回答 2

4

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

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

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

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

于 2012-04-17T07:52:44.857 回答
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;
    }
}
于 2013-01-08T00:59:51.033 回答