CKeditor - разные пресеты на одной странице

Я использую CKeditor на своей веб-странице. И я хочу установить разные пресеты на одной странице. Например, я хочу использовать Standard CKeditor в одной текстовой области и Basic в другой...

Кто-нибудь знает, как я могу это сделать?

Большое спасибо!

1 ответ

Решение

Вам нужно скачать версию CKEditor, которая содержит все плагины, которые вы хотите использовать в самой продвинутой конфигурации, а затем "урезать" ее при инициализации редактора, который вы хотите иметь более ограниченным.

Например, если вам нужен один редактор со стандартным пресетом и один с базовым, вам следует скачать редактор со стандартным пресетом, потому что в нем будут все плагины, необходимые для базового пресета. Затем инициализируйте один редактор без каких-либо дополнительных настроек:

CKEDITOR.replace( 'editor-std' );

И второй с параметрами, которые используются основным редактором:

CKEDITOR.replace( 'editor-basic', {
    // Plugins used by basic preset.
    plugins: 'about,basicstyles,clipboard,floatingspace,list,indentlist,enterkey,entities,link,toolbar,undo,wysiwygarea',

    // The toolbar groups arrangement, optimized for a single toolbar row.
    toolbarGroups: [
        { name: 'document',    groups: [ 'mode', 'document', 'doctools' ] },
        { name: 'clipboard',   groups: [ 'clipboard', 'undo' ] },
        { name: 'editing',     groups: [ 'find', 'selection', 'spellchecker' ] },
        { name: 'forms' },
        { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
        { name: 'paragraph',   groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
        { name: 'links' },
        { name: 'insert' },
        { name: 'styles' },
        { name: 'colors' },
        { name: 'tools' },
        { name: 'others' },
        { name: 'about' }
    ],

    // The default plugins included in the basic setup define some buttons that
    // are not needed in a basic editor. They are removed here.
    config.removeButtons: 'Cut,Copy,Paste,Undo,Redo,Anchor,Underline,Strike,Subscript,Superscript',

    // Dialog windows are also simplified.
    config.removeDialogTabs: 'link:advanced'
} );

Вы также можете сохранить эту конфигурацию в файл, похожий на config.js который вы найдете в главном каталоге CKEditor и будете использовать его следующим образом:

CKEDITOR.replace( 'editor-basic', { customConfig: 'config-basic.js' } );

Где взять конфиги пресетов?

Конфигураций, готовых к использованию, нет, но вы можете найти все необходимые настройки в репозитории пресетов CKEditor. Как вы обнаружите, я использовал basic-ckeditor-config.js файл и расширил его с помощью плагинов из basic-build-config.js,

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