我正在寻找在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的插件配置的任何信息。
答案 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;
}
}