Joomla не даёт вставить flash, script и вырезает тэги object

Joomla при вставке флэшки (обычный ролик flash, расположенный на сайте) почему-то вырезает его. Оказалось, что вставить флэш в страницу (в контентную часть) не так просто. Естественно, при необходимости вставки в шаблон, можно просто отредактировать один или несколько файлов из каталога templages/_имя_шаблона_/ (обычно это index.php).

Но при редактировании контента joomla упорно вырезала “лишние” (опасные?) тэги, к которым, судя по всему, были отнесены object, script.

Итак как убрать вырезание тэгов.

1. Тэги очищает визуальный редактор. В TinyMce или JCE Editor имеются настройки для фильтрации опасных тэгов.

Настраиваем TinyMCE

Заходим в расширения - менеджер плагинов - ищем (можно отфильтровать) Editor TinyMCE и исправляем в настройках:

  • очищать код при запуске (выкл)
  • очищать код при сохранении (на сайте )
  • Запрещенные тэги (проверять на отсутствие нужного нам тэга - если есть, удаляем)
  • Дополнительные валидные элементы (об этом пункте подробнее)

В TinyMCE имеется возможность указать валидные элементы, которые редактор не будет фильтровать. К примеру, можно заодно разрешить <noindex> (просто записать в последнее поле  noindex). Элементы-тэги перечисляются через запятую. Если требуется разрешить атрибуты у тэга, они указываются в квадратных скобках, разделённые вертикальной чертой:

param[name|]

Настройка JCE

Заходим суперадминистратором в Компоненты->Админпанель JCE. Во вкладке Конфигурация можно изменить глобальные настройки, а во вкладке Группы - настройки для каждой отдельной группы пользователя.

* В насторойках JCE - Профиль Default - Параметры редактора - Параметры: Встроенные скрипты XHTML - выкл. Разрешить Javascript - вкл.
* В админке Joomla меню Материалы - Менеджер материалов - Настройки (кнопка) - Фильтры текста (закладка). В Администратор, Суперадминистратор ствим “Нет фильтрации”. Сохраняем.

Но это ещё не всё.. даже при отправке кода из “чистого” редактора (No Editor - textarea), всё равно часть тэгов обрезается. Видимо, имеется ещё некая

Настройка фильтрации на сервере

Заходим Супер администратором в раздел Материалы->Менеджер материалов->Параметры и в самом низу и из списка Параметры фильтрации выбираем Registered, а в параметре Тип фильтрации выбираем Чёрный список (по умолчанию) и Сохраняем.

После таких манипуляций Joomla перестала запрещать и вырезать тэг object и тэг Script. Сохранение из режима No Editor прошло успешно - флэшка вставилась на страницу.

ps Конечно, если joomla (да и любая другая админка) или текстовый редактор не даёт вставить какой-нибудь тэг, то почти всегда можно обойти админку и сохранить нужный контент напрямую в базу данных.

pps Иногда помогает удаление из скриптов <![CDATA[ и // ]]>

ppps При вставке на сайт скрипта карты яндекса TinyMCE удаляет пустой элемент <div> с нужным ID (в который по идее должна загружаться карта). Чтобы удаление не происходило, следует сделать <div> не пустым (можно вставить   или картинку-пустышку )

Метки: ,

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

Комментарии (2) к записи “Joomla не даёт вставить flash, script и вырезает тэги object”

  1. Маргарита сообщает :

    спасибо вашей статье, помогло это:
    “Заходим в расширения - менеджер плагинов - ищем (можно отфильтровать) Editor TinyMCE и исправляем в настройках:
    Запрещенные тэги (проверять на отсутствие нужного нам тэга - если есть, удаляем)”
    После удаления тега script карта отобразилась на сайте. До этого все перепробовала! Спасибо!

  2. 3designate сообщает :

    1broadsword…

Добавить комментарий