- Сообщения
- 244
- Реакции
- 153
Небольшой хак позволит парсить и вставлять видео с youtube по поисковым запросам на вашем сайте.
Для начала нужно получить YouTube API key. В гугле полно подробных инструкций и видео, поэтому заострять на этом внимание не буду.
Предположим, что ключ вы уже получили:
Открываем файл core/search.php, находим
ВЫШЕ вставляем:
Открываем папку с вашим шаблоном, находим файл search.tpl, в нужном месте (например после {include file="track-list.tpl"}) вставляем:
Результат:
Для начала нужно получить YouTube API key. В гугле полно подробных инструкций и видео, поэтому заострять на этом внимание не буду.
Предположим, что ключ вы уже получили:
Открываем файл core/search.php, находим
PHP:
# Собрать шаблон и отобразить страницу
$this->loadViews($this->constructData());
PHP:
$tubeKey = 'ВАШ_API_KEY';
$prepareQuery = urlencode($this->query);
if ($this->MSE->config['data_cache'])
{
$serverHostName = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
$cacheKey = $serverHostName.'_'.md5($prepareQuery.'video');
$cacheResults = \liw\App\Cache::checkCache($cacheKey);
if ($cacheResults) $this->videoId = json_decode($cacheResults, TRUE);
}
if (!isset($cacheResults) || !$cacheResults){
$searchVideoResult = @file_get_contents ("https://content.googleapis.com/youtube/v3/search?q={$prepareQuery}&maxResults=1&part=snippet&key={$tubeKey}");
if ($searchVideoResult)
{
$youTubeData = @json_decode($searchVideoResult, true);
$this->videoId = $youTubeData['items'][0]['id']['videoId'];
if ($this->MSE->config['data_cache']) \liw\App\Cache::SetCache($cacheKey, $this->videoId);
}
}
HTML:
{if $videoId|default:''}
<br>
<br>
<h2>Видео по запросу {$query}</h2>
<div class="frame-tube">
<iframe class='frame-tube__video' src='https://www.youtube.com/embed/{$videoId}' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe>
</div>
{/if}
Последнее редактирование модератором: