Как вставить iFrame в статью на Joomla 4

01.03.2022

Как и большинство современных CMS Joomla 4 не позволяет вставлять в статьи потенциально вредные HTML теги, например, iframe или script.

Решение зависит от редактора который Вы используете, для Tinymce нужно зайти в Plugins (Плагины) -- editor Tinymce (Редактор - TinyMCE) и там пролестать до "Запрещенные элементы":

pic1

У других редакторов должна быть аналогичная настройка, например у JCE:

pic1

Но вот у JCE эта настройка хоть и есть, но не работает (думаю исправят в будущих версиях), а пока нашел такое решение в файле /administrator/components/com_jce/models/editor.php, добавил ручное удаление iframe из запрещенных:

 
$settings['invalid_elements'] = str_replace('iframe,', '', $settings['invalid_elements']);

Больший фрагмент кода:

 
    public function render($settings)
    {
        // get an editor instance
        $wf = WFEditor::getInstance();

        $settings['invalid_elements'] = str_replace('iframe,', '', $settings['invalid_elements']);

        // encode as json string
        $tinymce = json_encode($settings, JSON_NUMERIC_CHECK | JSON_UNESCAPED_SLASHES);

        $this->addScriptDeclaration('try{WFEditor.init(' . $tinymce . ');}catch(e){console.debug(e);}');



Категории: CMS Joomla 3.X, Joomla, Joomla 4.X
Пометки: joomla 4 iframe / script
Яндекс.Метрика