Отключение валидации тегов в TinyMCE

Материал из Umicms
Версия от 09:39, 2 апреля 2020; Aposio (обсуждение | вклад) (Aposio переименовал страницу Отключение модерации тегов в TinyMCE в Отключение валидации тегов в TinyMCE)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 21

Задача

Отключить изменение тегов визуальным редактором.

Решение

Добавить нужные элементы в список допустимых элементов.

Например, имеется следующий код, который нужно добавить через визуальный редактор:

<iframe src="example.com" width="100" height="100" frameborder="0" allow="autoplay;fullscreen" allowfullscreen></iframe>

Из данного тега редактор автоматически удалит атрибуты frameborder, allow и allowfullscreen, так как посчитает их невалидными.


Кастомизацию визуального редактора нужно производить в фале styles/common/js/cms/wysiwyg/tinymce47/tinymce_custom.js.
Для разрешения отдельных атрибутов можно указать их по-отдельности:

extended_valid_elements : 'iframe[frameborder|allow]'

А можно разрешить для тега iframe любые атрибуты:

extended_valid_elements : 'iframe[*]'


После внесения нужных правок содержимое файла tinymce_custom.js будет выглядеть следующим образом:

window.mceCustomSettings = {
	content_css : '/styles/common/js/cms/wysiwyg/tinymce47/tinymce_custom.css',
	extended_valid_elements : 'iframe[*]' // элементы можно перечислять через запятую
};
}

Для более тонкой настройки редактора можно обратиться к официальной документации: TinyMCE configuration options reference