【问题标题】:CKeditor: How to build a custom plugin?CKeditor:如何构建自定义插件?
【发布时间】:2017-12-18 11:27:50
【问题描述】:

我正在尝试按照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)。我想那个文件甚至没有被调用或访问。所以初始化甚至不会尝试渲染按钮。 感谢您的帮助。

【问题讨论】:

  • 尝试在ckeditor.js文件中的错误之前记录,也许这会给你更多的线索。
  • 奇怪的是……我无法在文件中调试。当我尝试从 Firebug 访问此脚本 (ckeditor.js) 时,它告诉:“此页面上没有 Javascript 如果
  • 我找到了问题的根源。这是由于缓存文件是服务器,因此内容与我原始帖子中显示的内容不完全相同。修复后,错误不再显示,一切似乎都可以正常工作..除了插件的按钮没有显示。

标签: plugins ckeditor ckeditor4.x django-ckeditor


【解决方案1】:

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

'toolbar': None,

到 CKEDITOR_CONFIGS。

【讨论】:

    猜你喜欢
    • 2020-02-27
    • 1970-01-01
    • 2017-12-18
    • 2017-12-29
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    相关资源
    最近更新 更多