Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plugins CKeditor:如何构建自定义插件?_Plugins_Ckeditor_Ckeditor4.x_Django Ckeditor - Fatal编程技术网

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

Plugins CKeditor:如何构建自定义插件?,plugins,ckeditor,ckeditor4.x,django-ckeditor,Plugins,Ckeditor,Ckeditor4.x,Django Ckeditor,我试图创建一个自定义插件的CKeditor以下。我按照指示创建了文件(myplugin.png、myplugin.js、plugin.js)并添加了 CKEDITOR_CONFIGS = { 'default': { 'extraPlugins': ','.join( [ 'myplugin' ] ), 'allowedContent' : True, } } 设置 这是我的plugin.js文件的内容: CKEDITOR.plugins.

我试图创建一个自定义插件的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)。我猜想这个文件甚至没有被调用或访问。因此,初始化甚至不尝试渲染按钮。
谢谢你的帮助。

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

'toolbar': None,

到CKEDITOR\u配置。

尝试在
CKEDITOR.js
文件中出现错误之前进行日志记录,这可能会给您提供更多线索。奇怪的是。。。我无法在文件中调试。当我试图从Firebug访问这个脚本(ckeditor.js)时,它告诉我:“如果标签有“type”属性,那么这个页面上没有Javascript,它应该等于“text/Javascript”或“application/Javascript”。此外,脚本必须是可解析的(语法正确)。”我找到了问题的根源。这是因为服务器上有一个缓存文件,因此内容与我原来的帖子中显示的不完全一样。修复该错误后,错误不再显示,似乎一切正常。。除了插件的按钮没有显示。