CKeditor:如何构建自定义插件?

时间:2017-07-13 15:11:12

标签: plugins ckeditor ckeditor4.x django-ckeditor

我正在尝试在this guide之后为CKeditor创建一个自定义插件。我按照指示创建了文件(myplugin.png,myplugin.js,plugin.js)并添加了

CKEDITOR_CONFIGS = { 
    'default': { 
        'extraPlugins': ','.join( [ 'myplugin' ] ), 
        'allowedContent' : True,
    }
}

到设置。

这是我的plugin.js文件的内容:

CKEDITOR.plugins.add( 'myplugin', {
    icons: 'myplugin',
    init: function( editor ) {
        // Plugin logic goes here...
        editor.addCommand( 'myplugin', new CKEDITOR.dialogCommand( 'mypluginDialog' ) );

        editor.ui.addButton( 'myplugin', {
            label: 'My Plugin',
            command: 'myplugin',
            toolbar: 'insert'
        });
    }
});

然而,自定义插件的图标仍然没有显示。我可以在浏览器的工具中看到plugin.js文件已被检索。我通过删除图标文件进行了测试,但没有产生任何差异(没有错误消息,没有404)。我想那个文件甚至没有被调用或访问过。所以初始化甚至没有尝试渲染按钮。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

最后,我找到了问题的答案。它来自CKEditor显示工具栏的方式。在指南中,自定义插件将添加到工具栏的“插入”组中。但是,在明确设置显示之前,这个将不可见。 将额外插件添加到默认配置是不够的,必须正确指定工具栏设置(如果由于某种原因,您的平台不默认为null)。就我而言,使用django-ckeditor,我不得不添加

'toolbar': None,

到CKEDITOR_CONFIGS。