Форум русской поддержки Joomla!® CMS
28.06.2017, 04:23:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Настраиваем редактор TinyMCE так чтобы не вырезались теги

 (Прочитано 58385 раз)
0 Пользователей и 1 Гость смотрят эту тему.
HYBRID
Давно я тут
****

Репутация: +46/-0
Offline Offline

Пол: Мужской
Сообщений: 237


Они захватят мир


« : 26.03.2011, 01:05:07 »

Joomla вырезает теги, не дает вставить видео, начисто удаляет теги object, iframe, embed или пустые div-ы и span-ы  - типичная проблема для начинающего, да и порой опытного Joomla-юзверя впервые столкнувшегося с этим.

Способов избежать этого есть множество, ставить JCE со всеми его плюшками, отключать очистку кода в редакторе, но при этом давиться такими дублирующимися тегами с префиксом mce_, вообще отключить визуальный редактор (вариант для любителей легкого садомазо) даже как вариант "только чтобы вставить нужный код, а потом снова включить редактор" не очень привлекателен. А вот самый простой, гибкий и при этом надежный вариант я нашел только на просторах англоязычного интернета и делюсь им с вами.

Отбираем дудку у TinyMCE
Типичная ситуация, надо вставить видео с Youtube но редактор, зараза, вырезает код, гуглим, joomlaфорумим, паника нарастает, ответов нет, ищем плагины, совершаем манипуляции описанные выше, пиво уже кипит... глубоко вздыхаем и идем в настройки плагина TinyMCE (Расширения --> Менеджер плагинов --> Редактор - TinyMCE 2.0), включаем очистку кода, в поле расширенных валидных элементов прописываем нужный нам тег:



А потом снова пробуем вставить видео в редактор, через просмотр кода конечно же:



Я был бы рад что бы все было так просто, но увы, кликаем пару раз по кнопке "Показать/Скрыть редактор" и видим:



Опять черти что, но уже хотя бы тег на месте. Но куда девались все атрибуты?

Отступление: Изначально тег iframe наряду с другими (object, embed, script и т.д.) находится в черном списке конфигурационного файла TinyMCE по причине своей "небезопасности", но дело не ограничивается только тегами, все их атрибуты так же запрещены к использованию.

Заставляем TinyMCE плясать под нашу мелодию
Итак, для того чтобы редактор делал все то что мы хотим надо его надрессировать, к нужному тегу необходимо дописать все допустимые атрибуты
у нас есть код:

Код:
<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/_Gv7fo6mefo" frameborder="0" allowfullscreen></iframe>

прописываем в поле разрешенных элементов следующее:

Код:
iframe[src|title|width|height|frameborder|allowfullscreen]

а после наслаждаемся результатом:



Заметка номер раз: Атрибуты без заголовков такие как allowfullscreen вырезаются, их необходимо записывать в XML-подобном виде: allowfullscreen="allowfullscreen".
Заметка номер два раза: Все неблочные элементы, коим является iframe, редактор оборачивает тегом <p>, если вас это не устраивает просто оберните iframe в div.

Bellissimo:



А кроме того
Если вы доверяете себе и остальным людям которые могут создавать публикации на вашем сайте и уверены что никто не подложит вам свинью, вместо того чтобы прописывать каждый атрибут по отдельности, как тут:

Код:
iframe[src|title|width|height|frameborder|allowfullscreen]

прописываете:

Код:
iframe[*]

Иногда необходимо использование пустых div-ов и span-ов в статьях, частая особенность типографики клубных шаблонов, так же вносим их в в список и наслаждаемся:

Код:
iframe[*],div[*],span[*]

Теперь ваш редактор умеет сидеть, давать лапу, изображать "умри", приносить тапки и даже танцевать на задних лапках. А если очень нужно то может сыграть Мурку Wink
Можно допивать перекипяченное пиво.

Если собираетесь копировать в свой блог, укажите ссылку на источник.

В исходной статье предлагается извращенный метод изменения конфигурационного файла, оно тоже будет работать... до следующего обновления, тогда все ваши изменения затрутся, а вы и не вспомните даже. Если учесть что сайтов может быть не 1 а 10, и настройки могут быть разными... жестокое самоистязание это.
« Последнее редактирование: 26.03.2011, 01:08:43 от HYBRID » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet