向CKEditor添加自定义按钮

时间:2012-04-26 05:09:59

标签: jquery drupal-7 ckeditor

您好我想在drupal中为CKEditor添加自定义按钮。我创建了一个插件,但它没有显示在我的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 个答案:

答案 0 :(得分: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管理页面上的按钮列表中,您可以在其中选中复选框并启用按钮。