我可以使用CDN版本的CKEditor同时拥有自定义工具栏和自定义外部插件吗?

我可以使用CDN版本的CKEditor同时拥有自定义工具栏和自定义外部插件吗?,ckeditor,cdn,Ckeditor,Cdn,首先,我不是使用CKEditor的专家,但我认为我做得对,它应该可以工作,但肯定有一些地方我做错了。我花了两天的时间试图弄明白,我想我已经不止一次地调整了所有的东西,只是无法让它们都正常工作 我正在加载我编写的一个外部插件。我的插件加载得很好,我的图标在适当的时候出现在工具栏和上下文菜单中,点击它们可以做出正确的事情。我定义了一个自定义工具栏,我得到了我想要的方式;在CKEDITOR.replace()安装调用中的customConfig:…指向的本地配置文件中定义。世界上一切都好 然后我试着同

首先,我不是使用CKEditor的专家,但我认为我做得对,它应该可以工作,但肯定有一些地方我做错了。我花了两天的时间试图弄明白,我想我已经不止一次地调整了所有的东西,只是无法让它们都正常工作

我正在加载我编写的一个外部插件。我的插件加载得很好,我的图标在适当的时候出现在工具栏和上下文菜单中,点击它们可以做出正确的事情。我定义了一个自定义工具栏,我得到了我想要的方式;在CKEDITOR.replace()安装调用中的customConfig:…指向的本地配置文件中定义。世界上一切都好

然后我试着同时做这两件事——但我的工具栏图标/按钮没有添加到我的自定义工具栏设置中。我的插件仍然在加载和工作,我可以通过上下文菜单获得我的插件,它完成了它应该做的事情,所以我认为它在那里并且仍然在工作;但我无法使按钮/图标显示在工具栏中。我还尝试将配置文件中的工具栏设置为数组数组和具有组名的对象数组–我的按钮不会显示。我已尝试将CKEDITOR.replace()对象中的工具栏定义为数组和对象数组,并显示自定义工具栏,但我的工具栏按钮未显示。我已经尝试在我创建的自定义工具栏中使用editor.ui.addButton方法定义我的按钮。我的自定义工具栏中没有按钮

如果我注释掉customConfig:行,那么我的按钮将显示在默认工具栏的文档组中,因此我认为我在正确的时间使用正确的API并指向正确的png文件添加了它。但是,如果我取消对customConfig的注释,不做任何其他更改,并多次按Ctrl+F5刷新缓存,则无论我尝试将其放置在何处(文档、插入、通过API添加的按钮组等),该按钮都不会显示

我确信我的自定义配置正在得到处理和使用,因为它确实将工具栏从标准的内置配置更改为我定义的配置

使用默认的工具栏设置,我可以添加一个toolbarButtonGroup并将我的按钮放入其中,但当我尝试使用自定义工具栏设置时,这也不起作用(我想我读到这是不允许的,除了文档中的内置工具栏)

所以我的问题是

  • 在使用CDN版本的CKEditor时,是否可以拥有自定义工具栏定义和外部插件以及自定义工具栏按钮
  • 我是否必须构建并托管我自己版本的CKEditor,以便我的插件不是外部插件
  • 我还有什么地方做错了吗
  • 这是我创建的自定义工具栏设置(这不是游戏的结束,而是我创建的一个,以证明我可以创建自定义工具栏):

    这是我用图标/按钮创建的自定义工具栏设置(它是文档组中的xrr第一项:

    config.toolbar = [
    { name: 'document',     items: [ ‘xrr’, 'Save', 'Preview', 'Print' ] },
    { name: 'basicstyles',  items: [ 'Bold', 'Italic', 'Underline', '-', 'CopyFormatting', 'RemoveFormat' ] },
    { name: 'clipboard',    items: [ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ] },
    { name: 'colors',   items: [ 'TextColor', 'BGColor' ] },
    { name: 'editing',  items: [ 'Find', 'Replace', '-', 'SelectAll', '-', 'Scayt' ] },
    '/',
    { name: 'forms',    items: [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ] },
    { name: 'paragraph',    items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'BidiLtr', 'BidiRtl', 'Language' ] },
    { name: 'links',        items: [ 'Link', 'Unlink', 'Anchor' ] },
    { name: 'insert',   items: [ 'Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak', 'Iframe' ] },
    '/',
    { name: 'styles',   items: [ 'Styles', 'Format', 'Font', 'FontSize', 'Strike', 'Subscript', 'Superscript' ] },
    { name: 'tools',        items: [ 'Maximize', 'ShowBlocks', 'Source' ] },
    { name: 'about',    items: [ 'About' ] }
    ];
    
    下面是我如何将按钮添加到工具栏的方法–这适用于内置工具栏,但不适用于上面的自定义定义:

    editor.ui.addButton( 'xrr', {   label: 'Create RR Placeholder', // lang.toolbar,
                    command: 'xrr',
                    toolbar: 'document',
                    icon: 'xrr'
                    }
                );
    
    非常感谢任何人能提供的帮助

    editor.ui.addButton( 'xrr', {   label: 'Create RR Placeholder', // lang.toolbar,
                    command: 'xrr',
                    toolbar: 'document',
                    icon: 'xrr'
                    }
                );