Подключение плагинов в TinyMCE
Актуально для версии 20.
Задача
Иногда возникает необходимость расширить или уменьшить функциональность визуального редактора TinyMCE.
Решение
Можно подключить плагин в файл /js/cms/wysiwyg/tinymce47/tinymce_custom.js, для этого потребуется добавить свойство plugins с массивом используемых плагинов в качестве значения. Полный список плагинов для tinymce вы можете посмотреть [1].
Например, нам необходимо в визуальном редакторе использовать такие теги, как <html>, <head>, <body> или <style>, тогда в массив плагинов необходимо добавить плагин fullpage. Настройки в файле tinymce_custom.js заменяют исходные настройки, поэтому необходимо взять все плагины, которые используются, и добавить к ним нужный нам плагин fullpage.
Тогда JS код в файле tinymce_custom.js будет выглядеть следующим образом:
window.mceCustomSettings = {
// Файл с кастомным CSS
// @link https://www.tinymce.com/docs/configure/content-appearance/#content_css
content_css : '/js/cms/wysiwyg/tinymce47/tinymce_custom.css',
plugins: ["fullpage", "anchor", "advlist", "charmap", "codemirror", "contextmenu", "fullscreen", "image", "link", "lists", "media", "paste", "searchreplace", "table", "textcolor", "visualchars"]
};
Если нужно добавить возможность использования какого-либо определенного тега, например, <style>, то можно добавить пару ключ/значение valid_children : "+body[style]". Valid_children позволяет вам контролировать, какие дочерние элементы могут существовать в каких родительских элементах. В итоге, код будет выглядеть так:
window.mceCustomSettings = {
// Файл с кастомным CSS
// @link https://www.tinymce.com/docs/configure/content-appearance/#content_css
content_css : '/js/cms/wysiwyg/tinymce47/tinymce_custom.css',
valid_children : "+body[style]"
};