+7 495 008 8452
  • Загрузка
Выберите ваш цвет

Интеграция плеера Youtube в публикации на «Битрикс»

Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Источник: 
Видео прекрасно влияет на поведенческие характеристики. Но копировать на сайт коды вставки при массовом размещении становится неудобно. Нельзя ли упростить процесс? Да, можно. Здесь мы рассмотрим, как показывать ролик, вставляя в поле на административной панели ссылку на Youtube.

1. Модифицируем компонент вывода новостей

Добавим в компонент вывода инфоблока новостей result_modifier следующий код:

if(strlen($arItem['DISPLAY_PROPERTIES']['YOUTUBE']['VALUE'])>0){
      $arYOUTUBE = array_pop(explode('/',$arItem['DISPLAY_PROPERTIES']['YOUTUBE']['VALUE']));
   } else {

      $db_props = CIBlockElement::GetProperty(intval($arItem['IBLOCK_ID']), intval($arItem['ID']), array("sort" => "asc"), Array("ID"=>75));
      if($ar_props = $db_props->Fetch()){
         $arItem['DISPLAY_PROPERTIES']['YOUTUBE'] = $ar_props;
      }
      $arYOUTUBE = array_pop(explode('/',$arItem['DISPLAY_PROPERTIES']['YOUTUBE']['VALUE']));
   }

   if(strlen($arItem['DISPLAY_PROPERTIES']['YOUTUBE']['VALUE'])>0){

      $arItem['DISPLAY_PROPERTIES']['YOUTUBE']['YOUCODE'] = $arYOUTUBE;
      $decode = file_get_contents('https://gdata.youtube.com/feeds/api/videos/'.$arYOUTUBE.'?v=2&alt=json');
      $videodata = json_decode($decode);
      $entry = (array) $videodata->entry;
      $published = (array) $entry['published'];
      $arItem['DISPLAY_PROPERTIES']['YOUTUBE']['VIEWCOUNT'] = $entry['yt$statistics']->viewCount;
      $arItem['DISPLAY_PROPERTIES']['YOUTUBE']['ACTIVE_FROM'] = substr($published['$t'],0,10);
   }


2. Добавим код видеплеера

Поместим код видеоплеера непосредственно в template.php

Старый, развернутый вариант:

<ob ject width="560" height="315">
         <param name="movie" value="//www.youtube.com/v/<?=$arItem['DISPLAY_PROPERTIES']['YOUTUBE']['YOUCODE']?>?hl=ru_RU&version=3"></param>
         <param name="allowFullScreen" value="true"></param>
         <param name="allowscriptaccess" value="always"></param>
         <emb ed src="//www.youtube.com/v/<?=$arItem['DISPLAY_PROPERTIES']['YOUTUBE']['YOUCODE']?>?hl=ru_RU&version=3" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed>
      </object>


Новый, краткий вариант

<ifr ame width="560" height="315" src="//www.youtube.com/embed/<?=$arItem['DISPLAY_PROPERTIES']['YOUTUBE']['YOUCODE']?>" frameborder="0" allowfullscreen></iframe>


Код вывода картинки preview, название ролика и количество просмотров:

<div class="video-item" id="<?= $this->GetEditAreaId($arItem['ID']); ?>">
         <?=CFile::ShowImage($arItem["PREVIEW_PICTURE"], 105, 105, 'title="'.$arItem["NAME"].'" class="img-responsive pull-left" alt="'.$arItem["NAME"].'"', $arItem['DETAIL_PAGE_URL'], false);?>

         <h5><a href="<?=$arItem['DETAIL_PAGE_URL']?>"><?=$arItem['NAME']?></a></h5>
         <span class="text-muted video-date-time">Добавлено:  <?=$arItem['DISPLAY_PROPERTIES']['YOUTUBE']['ACTIVE_FROM'];?></span><br/>
         <span class="text-muted number_of_views">Просмотров:  <?=$arItem['DISPLAY_PROPERTIES']['YOUTUBE']['VIEWCOUNT'];?></span>
      </div>



Готово!

Назад в раздел

Подписаться на новые материалы раздела:
Загрузка...