Очень скоро Битрикс выпустит стандартно поддержку популярных видео-сервисов (да ведь?), но вынужден был не ждать. (обновлено от 12.05.11) [CUT] Решение, к сожалению, заключается, в изменении системного компонента player. Но я тут не вижу ничего страшного. Обновляется он редко, и есть подозрение, что в следующий раз он обновится уже с поддержкой таких сервисов.
В любом случае, решение прежде всего для владельцев сайтов, а не для интеграторов, чтобы потом ничего не рухнуло.
Итак.
1. Скачиваем файл и распаковываем его в папку компонента /bitrix/components/bitrix/player/
2. В нем в самом верху конфигурационный массив, ставим 1 или 0 напротив того сервиса, который хотите включить или отключить соответственно.
3. В файл /bitrix/components/bitrix/player/component.php в самом верху после "<?if(!defined("B_PROLOG_INCLUDED"..." вставляем этот код:
$answer = include 'video_services.php';
if ($answer == 0)
return;
Для конечных пользователей ничего не меняется - они просто вставляют в привычное окошко ссылку на сторонний видео-сервис и ролик проигрывается корректно.
Пару слов о Mail.ru. Какие-то ролики покажутся, какие-то нет. Так как именно в video.mail.ru (а не у пользователей) расшаривать нельзя, я просто утянул код, но некоторые ролики запрещены насильно к публикации на сторонних доменах. А те, которые расшаривать можно - разместятся все.
Яндекс не получилось победить, у них хитрая ссылка, на лету не обработать.
И отвечу на вопрос "почему надо было лезть в системный компонент". Самая главная проблема, почему нельзя было просто кастомизировать шаблон - потому что идет проверка корректности пути файла до подключения шаблона. Соответственно, туда не долетает исполнение вообще в нашем случае.
Пардон, самая главная проблема, почему нельзя сделать по феншую - потому что идет проверка корректности пути до подключения шаблона. Соответственно, туда не долетает исполнение вообще.
на западе да. Делаю интернет тв для швейцарцев, выбрали livestream. Очень удобно. кучу настроек, виртуальная студия, будет использоваться как хранилище, вещание через БУС. http://www.livestream.com/platform/pr...nd_pricing
1. Добавил livestream.com (погонял на нескольких роликах - работает). 2. Немного оптимизировал скрипт. 3. Добавил массив настроек (см. п.2 поста) чтобы отключать ненужные сервисы.
Добавил переопределение показа Youtube. В стандартном компоненте вставляется старая версия проигрывателя, которая не лишена недостатков - как, например, мерзость с переходом на Youtube при клике.
В моем случае подставляется новая версия, с iframe.
Тут в другом причина - уж слишком данные методы искуственены. Чуть алгоритм генерации кода изменится, или формат ссылки - и все встанет (но такое случается раз в 10 лет). И все шишки полетят на Битрикс - мол продукт косячит.
в файле /bitrix/components/bitrix/player/component.php
) нет такого кода, там код такой: <div st yle="width: <?= $arResult["WIDTH"]?>px; height:<?= $arResult["HEIGHT"]?>px; background: #000; color: #fff; font-weight: bold; padding: 10px;"><?= GetMessage("ABOUT_TEXT")?></div> как быть?
и все же не пошло вот что пишет: Fatal error: Call to undefined function ec() in /..... ./.... ./.......ru/docs/bitrix/components/bitrix/player/video_services.php on line 21
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».