+7 495 008 8452 пн.-пт. 10:00 – 17:00
Загрузка...
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Видео прекрасно влияет на поведенческие характеристики. Но копировать на сайт коды вставки при массовом размещении становится неудобно. Нельзя ли упростить процесс? Да, можно. Здесь мы рассмотрим, как показывать ролик, вставляя в поле на административной панели ссылку на 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>



Готово!

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

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