У меня есть несколько сообщений, которые я отображаю в ячейках таблицы. У меня есть кнопка «добавить», которая добавляет новую строку в таблицу и открывает CKEditor для добавления текста нового сообщения. У меня есть кнопка «удалить», которая удаляет только что добавленную строку, если я передумаю о новом сообщении. CKEditor инициализируется с помощью PHP в конкретной 5 CMS:
$editor = $app->make('editor');
echo $editor->outputStandardEditor('message_content[]', '');
Выполнение вышеуказанного с текстовым полем просто, нет конфликта, потому что все просто HTML: добавить строку, добавить текстовое поле, удалить строка вместе со всем ее содержимым и элементами, если это необходимо.
Выполнение вышеуказанного с помощью CKEditor работает только один раз, потому что инициализация редактора также добавляет много других вещей вместе с кодом javascript. Поэтому после удаления строки он уничтожает элемент редактора вместе со всем его содержимым. Но если я хочу снова добавить новую строку, материал редактора исчезнет, поэтому редактор не будет работать.
Есть ли способ назначить инициализацию редактора переменной javascript в виде строки с все его вещи? Что-то вроде:
var editor = '<?php echo $editor->outputStandardEditor('message_content[]', ''); ?>';
Очевидно, что это неэкранированная строка со сценарием iframes et c. Что я могу здесь сделать?