Чтобы динамически добавлять данные в addRichCombo в CKEditor 4, вам понадобится использовать JavaScript и настроить свой собственный плагин для добавления элементов в список комбинации.
Вот шаги, которые вам нужно выполнить:
1. Создайте плагин, которым вы будете управлять addRichCombo. Для этого создайте новый файл с кодом плагина (например, myplugin.js) и сохраните его в папке "plugins" в корневом каталоге CKEditor.
CKEDITOR.plugins.add( 'myplugin', { init: function( editor ) { // Ваш код для инициализации плагина } });
2. Внутри функции init
, создайте элементы, которые вы хотите добавить в комбинацию, используя метод add
. Метод add
принимает два параметра: название элемента (например, "Element 1") и значение элемента (например, "value1").
CKEDITOR.plugins.add( 'myplugin', { init: function( editor ) { editor.ui.addRichCombo( 'myCombo', { label: 'My Combo', title: 'My Combo', toolbar: 'insert', items: [ [ 'Element 1', 'value1' ], [ 'Element 2', 'value2' ], [ 'Element 3', 'value3' ] ] }); } });
3. Теперь, чтобы динамически добавить элементы в комбинацию, вам нужно обновить метод items
комбинации, используя метод add
. Вы можете вызвать этот метод в любом месте своего плагина, когда вам нужно добавить новый элемент.
editor.onChangeFuncName = function() { // При каждом изменении редактора, обновите элементы комбинации editor.config.myCombo.items.push([ 'Element 4', 'value4' ]); editor.config.myCombo.items.push([ 'Element 5', 'value5' ]); // Обновите комбинацию editor.ui.update(); }; // вместо editor.onChangeFuncName название вашей функции, всё зависит от вашего дизайна сайта или того, когда вам нужно добавить новый элемент.
Теперь, когда вы вызываете функцию onChangeFuncName
, новые элементы будут добавлены в комбинацию. Вы также можете настроить логику функции, чтобы добавлять элементы динамически на основе других событий или условий.
Это лишь пример простого плагина, который добавляет элементы в комбинацию динамически в CKEditor 4. Вы можете настроить плагин дальше, добавлять стили или скрипты для элементов комбинации, или внести другие изменения, соответствующие вашим требованиям.