Как использовать несколько плагинов в ckeditor? - PullRequest
0 голосов
/ 14 ноября 2011

Мне нужно было добавить теги h1, h2, h3 в привязки клавиш для ckeditor, и я нашел эту простую функцию, чтобы сделать это.
Эта функция работает нормально и, как и ожидалось, но я могу использовать ее только один раз, если яскопируйте ту же функцию в другой каталог и попробуйте включить ее, она не работает.Что я делаю неправильно?

Расположение: plugins / button-h1 / plugin.js

 var a= {
    exec:function(editor){
    var format = {
    element : "h1"
    };
    var style = new CKEDITOR.style(format);
        style.apply(editor.document);
    }
},

// Add the plugin
b="button-h1";
CKEDITOR.plugins.add(b,{
    init:function(editor){
    editor.addCommand(b,a);
    editor.ui.addButton("button-h1",{
    label:"Button H1",
    icon: this.path + "button-h1.png",
    command:b
    });
}
});

Но когда я создаю другой плагин внутри другой папки с именем 'button-h2', сТот же код, но разные имена и теги, он не работает.

Местоположение: plugins / button-h2 / plugin.js

// Exactly the same as above, but with "h2" tags.
var a= {
    exec:function(editor){
    var format = {
    element : "h2"
    };
    var style = new CKEDITOR.style(format);
        style.apply(editor.document);
    }
},

// Add the plugin
b="button-h2";
CKEDITOR.plugins.add(b,{
    init:function(editor){
    editor.addCommand(b,a);
    editor.ui.addButton("button-h2",{
    label:"Button H2",
    icon: this.path + "button-h2.png",
    command:b
    });
}
});

По сути, мне нужен пользовательчтобы иметь возможность использовать "CTRL + 1" для добавления тегов заголовков вокруг выделенного текста.
Этот метод работает, за исключением того, что я могу использовать его только для одного из заголовков, либо H1 или H2, но не обоих или более.

В моем config.js у меня есть следующее, чтобы настроить все:

config.extraPlugins = "button-h1,button-h2";
config.keystrokes =
[
    [ CKEDITOR.CTRL + 49 /*1*/, 'button-h1' ],
    [ CKEDITOR.CTRL + 50 /*2*/, 'button-h2' ]

];

Итак,
- Плагин работает, но я могу использовать его только на H1 илиH2, НЕ ОБА, ПОЧЕМУ?
Нужно ли поместить это в функцию или что-то еще, чтобы она могла выполняться более одного раза в одно и то же время?

1 Ответ

0 голосов
/ 26 ноября 2011

Я нашел ответ на это.Мне нужно было обернуть это в анонимную функцию.

(function(){
var a= 
{
    exec:function(editor){
        var format = {
        element : "h1"
        };
    var style = new CKEDITOR.style(format);
    style.apply(editor.document);
    }
},

b="tags-h1";
CKEDITOR.plugins.add(b,{
    init:function(editor){
    editor.addCommand(b,a);
    editor.ui.addButton(b,{
    label:"Heading 1",
    icon: this.path + "heading-1.png",
    command:b
    });
    }
});
})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...