Не отображается видео в материалах Joomla и товарах Virtuemart (JCE)

Ну, для начала определимся с проблемой. Есть SWF (например), который надо показать пользователю, стоит Joomla + Virtuemart. При попытке вставить видео, не важно, как — через Media Manager или руками в коде, можем получить две картины:

  1. фактически код есть (в админке его видно), а на сайте видео отсутствует;
  2. в админке кода нет, на сайте видео нет.

В смысле, SWF-файл указан, а видео на сайте не показывается (и/или в админке не отображается)

То есть, если говорить двумя словами — JCE не показывает видео, или Joomla не показывает видео. Сейчас разберемся и пофиксим.

Давайте для начала разберемся, что нужно, для того, чтобы вывести видео на странице, не важно — Joomla это или любой другой движок. Да хоть простая superpage.html — код должен выглядеть как-то так:

<object width="400" height="300" type="application/x-shockwave-flash" data="mediafolder/subfolder/video.swf">

<param name="wmode" value="transparent" />

<param name="movie" value="mediafolder/subfolder/video.swf" />

</object>

Теперь посмотрим, что делается при «той самой ошибке», о которой идет речь (во что превращается код):

<param name="wmode" value="transparent" />

<param name="movie" value="mediafolder/subfolder/video.swf" />

Итак, очевидно, что «кто-то» заботливый поубивал тег <object>. Теперь о том, кто бы это мог быть.

1. JCE (JoomlaContentEditor)

Этот товарищ, безусловно, хорош. Не без косяков, но, определено, хорош. Что он делает — он умеет чистить HTML. На всякий случай можно его от этого отучить:

Компоненты -> Администрирование JCE -> Профили редактора -> профиль [Default] (если, конечно, используется именно он — если на нем стоит зеленая галочка)

далее:

Вкладка Особенности и Макет (может называться Разметка) -> в самам-самом низу Медиа — ставим галочку «Добавить поддержку медиа: OBJECT, EMBED, AUDIO, VIDEO и IFRAME. Требуется Медиа менеджер при вставке таких объектов, как Adobe® Flash®, Quicktime® и других медиафайлов» — это для того, чтобы сам JCE был в курсе, что будут использоваться теги <object>

Еще далее:

Следующая вкладка Параметры редактора -> Расширенные:

  • Разрешить Javascript — ДА
  • Разрешить CSS — ДА
  • Разрешить PHP — ДА
  • Встроенные скрипты XHTML — ДА

Здесь, вроде бы, все…

2. JOOMLA

Joomla, кстати, тоже может резать неугодные теги, что не может не радовать. Делается это черными/белыми списками в настройках Менеджера материалов.

Материалы -> Менеджер материалов -> Параметры (кнопка справа вверху с гаечным ключом и отверткой)

Тут спускаемся в самый-самый низ и видим «Параметры фильтрации«. Начинаем неистово радоваться — тут делается все крайне просто — выделяем все группы пользователей кроме Super Administrator (Суперадминистратор) и указываем в «Типе фильтрации» — Чёрный список. Больше ничего менять не нужно, все сделается само (советую, все же, почитать всплывающие подсказки).

3. VIRTUEMART

ОООО, тут несколько хитрее, хотя, тоже все очень просто.

Чтобы научить Virtuemart «плохому», просто открываем файл administrator/components/com_virtuemart/classes/phpInputFilter/class.inputfilter.php и, если до сего момента ничего не менялось в нем, ищем строку 37 и в ней убираем «object, «. Все. Сохраняем и радуемся.

Вообще, в этой строке формируется массив с «запрещенными» тегами через запятую. Туда можно добавить и свои теги, кстати 😉

Ну, вроже разобрались, что к чему… Удачи 🙂

 

0

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