Добавьте пользовательскую кнопку в CKEditor

Привет, я хочу добавить пользовательскую кнопку для CKEditor в Drupal. Я создал плагин, но он не отображается на моей панели инструментов ckeditor. Кто-нибудь может мне помочь? Код выглядит следующим образом

plugin.js

CKEDITOR.plugins.add('newplugin',
{
    init: function(editor)
    {
        var pluginName = 'newplugin';
        CKEDITOR.dialog.add(pluginName, this.path + 'plugin.js');
        editor.addCommand(pluginName, new CKEDITOR.dialogCommand(pluginName));
        editor.ui.addButton('Newplugin',
            {
                label: 'Footnote or Citation',
        icon: this.path + 'newplugin.png',
                command: pluginName
            });
    }
});

config.js
CKEDITOR.editorConfig = function( config )
{


config.extraPlugins = 'newplugin';
config.toolbar = [
['Bold'],['Italic'],['newplugin']
]
};

1 ответ

Вы используете модуль WYSIWYG? Если это так, вам нужно создать модуль, который реализует хук wysiwyg, чтобы добавить кнопку в конфигурацию. Это можно сделать с помощью следующего кода:

function yourtheme_wysiwyg_plugin($editor, $version) {
    switch ($editor) {
        return array(
            'PluginName' => array(
                'path' => "Path to plugin directory",
                'filename' => 'plugin.js',
                'buttons' => array(
                    'Newplugin' => t('New Plugin'),
                ),
                'load' => TRUE,
                'internal' => FALSE,
            ),
        );
        break;
    }
}

Затем загрузите тему в Drupal и очистите ваши кеши. Теперь кнопка должна появиться в списке кнопок на странице администрирования WYSIWYG, где вы можете установить флажок и включить кнопку.

Другие вопросы по тегам