TinyMCE: Как добавить плагин после init?

1

В проекте Voyager они позволяют вам изменять TinyMCE, хотя функция обратного вызова:

function tinymce_init_callback(editor)
{
    //...
}

Методы редактора перечислены здесь.

Я знаю, что обычно перечисляются плагины в init:

tinymce.init({
  plugins: [
    'image textcolor'
  ],

Но возможно ли добавить плагин как image с объектом редактора после инициализации? Я не мог найти такую функцию в документах.

  • 0
    может быть, вы можете добавить Plugin instance непосредственно в свой объект editor.plugins : editor.plugins['image'] = ... , но вам нужно будет выяснить, как получить экземпляр плагина, может быть, просто require / Импортировать ?
Теги:
tinymce-4

2 ответа

1
Лучший ответ

TinyMCE не позволяет загружать дополнительные плагины после инициализации редактора. Если вы захотите это сделать, вам нужно будет использовать API remove() для удаления редактора, а затем вы можете снова использовать init() с новой конфигурацией, чтобы перезагрузить редактор.

0

Это мое решение:

function tinymce_init_callback(editor)
{
  editor.remove();
  editor = null;

  tinymce.init({
    selector: 'textarea.richTextBox',
    skin: 'voyager',
    min_height: 600,
    resize: 'vertical',
    plugins: 'print preview fullpage searchreplace autolink directionality visualblocks visualchars fullscreen image link media template codesample table charmap hr pagebreak nonbreaking anchor insertdatetime advlist lists textcolor wordcount imagetools contextmenu colorpicker textpattern',
    extended_valid_elements: 'input[id|name|value|type|class|style|required|placeholder|autocomplete|onclick]',
    file_browser_callback: function (field_name, url, type, win) {
        if (type == 'image') {
            $('#upload_file').trigger('click');
        }
    },
    toolbar: 'styleselect bold italic underline | forecolor backcolor | alignleft aligncenter alignright | bullist numlist outdent indent | link image table youtube giphy | codesample code',
    convert_urls: false,
    image_caption: true,
    image_title: true
});

}

Сначала я удаляю существующий экземпляр редактора TinyMce, созданный Voyager, а позже создаю новый с плагинами и параметрами, которые я хочу.

Когда страница загружается и создается новый экземпляр, TinyMce ищет плагины в 'public/vendor/tcg/voyager/assets/js/plugins'. TinyMce ищет файл plugin js по имени 'plugin.js', но многие из этих файлов плагинов называются 'plugin.min.js', это вызывает много ошибок, которые отключают редактор. Одним из решений для этого неудобства является переименование всех файлов плагинов на "plugin.js".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню