Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
alcatras

Вставка видео с ютуба в доп поле

Recommended Posts

Сделал вставку видео в доп поле, получилось только по id видео. Как сделать вставку видео по ссылке? Что бы ссылка преобразовалась в iframe. Как в редакторе.

Знаю что можно через поле типа "Редактор" сделать, но мне нужно сделать доп поле без использования редактора для пользователей.

Вот код:

 

{{if $cfields['field_13']['value']}}
{{$link = strip_tags($cfields['field_13']['value']);}}   
<li class='ipsCarousel_item ipsAreaBackground_reset ipsPad_half' data-ipsLazyLoad>   
<iframe width="385" height="225" src="https://www.youtube.com/embed/{$link}" frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></li>
{{endif}}

Share this post


Link to post
Как сделать вставку видео по ссылке?
Никак. Нужно извлечь ID из ссылки и его использовать.

Share this post


Link to post

@newbie, а если пользователь вставит ссылку, есть ли какой то способ извлечь ID из ссылки?

Share this post


Link to post

@newbie, к примеру с помощью подобных скриптов. Можно это реализовать именно для доп поля?

 

<script type="text/javascript">
function youTubeGetId(url) {
   var expression = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be[.]?\/|youtube\.com[.]?\/(?:embed\/|v\/|watch\/?\?(?:\S+=\S*&)*v=))([\w-]{11})\S*$/;
   return url.match(expression) ? RegExp.$1 : undefined;
}

</script>

Share this post


Link to post
{{if $value = trim(strip_tags($cfields['field_13']['value']))}}
{{$cacheKey = 'downloads_cfield_embed_' . md5($value); try { $html = \IPS\Data\Cache::i()->getWithExpire($cacheKey, TRUE); } catch (\Exception $e) { $html = \IPS\Text\Parser::embeddableMedia(\IPS\Http\Url::createFromString($value, FALSE), TRUE); \IPS\Data\Cache::i()->storeWithExpire($cacheKey, $html, \IPS\DateTime::create()->add(new \DateInterval('P10D')), TRUE); } }}   
{{if $html}}
	{$html|raw}
{{endif}}
{{endif}}

Share this post


Link to post

@newbie, спасибо, а куда именно это прописывать?)

Share this post


Link to post

newbie, спасибо, а куда именно это прописывать?)

 

В шаблон view

Share this post


Link to post

@newbie, хмм, так и делаю. Но ничего не меняется.

Share this post


Link to post

Как выглядит ссылка?

Share this post


Link to post

@newbie, именно сейчас у меня так

{{if $cfields['field_13']['value']}}
{{$link = strip_tags($cfields['field_13']['value']);}}              
<li class='ipsCarousel_item ipsAreaBackground_reset ipsPad_half' data-ipsLazyLoad>   
<iframe width="385" height="225" src="https://www.youtube.com/embed/{$link}" frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></li>

{{endif}}

 

Ссылку прописал так:

https://www.youtube.com/embed/{$link}

 

А вот как ваш код задействовать который выше для извлечения id, так и не понял.

Edited by alcatras

Share this post


Link to post

А вот как ваш код задействовать который выше для извлечения id, так и не понял.

В моем коде ничего не извлекается.

$html - html-код плеера.

Нужно просто вставить код и заменить 13 на ID поля.

Share this post


Link to post

@newbie, а ссылку в html-коде плеера указать в таком виде?

https://www.youtube.com/embed/{значение доп поля}

Edited by alcatras

Share this post


Link to post

@newbie, получается то же самое, что я выше кинул

Share this post


Link to post

а ссылку в html-коде плеера указать в таком виде?

В каком коде?

В моем решение ничего делать дополнительно не нужно.

Там берется ссылка из поля, делается запрос и получаем html уже с плеером.

Share this post


Link to post

@newbie, ну я просто вставил этот код, указал id нужного поля. И просто видео не появляется. Прописал его на странице с файлом в карусели с картинками.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...