Вы можете использовать плагин "basicstyles" в качестве шаблона, он создает различные кнопки стиля (жирный, курсив и т. Д.):ckeditor / _source / plugins / basicstyles / plugin.js
Вот код для вашего плагина (на основе плагина basicstyles), это будет содержимое файла plugin.js, расположенного здесь:ckeditor / plugins / red / plugin.js
Значок для кнопки будет расположен здесь:ckeditor / plugins / red / images
CKEDITOR.plugins.add( 'red',
{
requires : [ 'styles', 'button' ],
init : function( editor )
{
// This "addButtonCommand" function isn't needed, but
// would be useful if you want to add multiple buttons
var addButtonCommand = function( buttonName, buttonLabel, commandName, styleDefiniton )
{
var style = new CKEDITOR.style( styleDefiniton );
editor.attachStyleStateChange( style, function( state )
{
!editor.readOnly && editor.getCommand( commandName ).setState( state );
});
editor.addCommand( commandName, new CKEDITOR.styleCommand( style ) );
editor.ui.addButton( buttonName,
{
label : buttonLabel,
command : commandName,
icon: CKEDITOR.plugins.getPath('red') + 'images/red.png'
});
};
var config = editor.config,
lang = editor.lang;
// This version uses the language functionality, as used in "basicstyles"
// you'll need to add the label to each language definition file
addButtonCommand( 'Red' , lang.red , 'red' , config.coreStyles_red );
// This version hard codes the label for the button by replacing `lang.red` with 'Red'
addButtonCommand( 'Red' , 'Red' , 'red' , config.coreStyles_red );
}
});
// The basic configuration that you requested
CKEDITOR.config.coreStyles_red = { element : 'span', attributes : {'class': 'red'} };
// You can assign multiple attributes too
CKEDITOR.config.coreStyles_red = { element : 'span', attributes : { 'class': 'red', 'style' : 'background-color: yellow;', 'title' : 'Custom Format Entry' } };
Добавьте стиль для «красного» класса в файл ckeditor contents.css в дополнение к обычной таблице стилей (если вы не загружаете обычный лист как пользовательский cssфайл в ckeditor).
Добавьте новый плагин в свой конфигурационный файл:
config.extraPlugins = 'red';
И добавьте кнопку на панель инструментов 'Red'
Для метки выможет создать массив с разными метками, назначенными каждому языковому коду, и получить правильную версию на основе активного языкового кода.Используйте editor.langCode
для получения активного кода языка.
Если вы не хотите добавлять кнопку, вместо этого вы можете добавить новую запись в селектор «Формат».Это селектор с заголовками.
Будь здоров,Джо