Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
alcatras

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

Рекомендованные сообщения

Сделал вставку видео в доп поле, получилось только по 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}}

Поделиться сообщением


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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

@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>

Поделиться сообщением


Ссылка на сообщение
{{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}}

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

 

В шаблон view

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
06/10/19 15:34 (изменено)

@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, так и не понял.

Изменено пользователем alcatras

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
06/12/19 19:33 (изменено)

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

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

Изменено пользователем alcatras

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

В каком коде?

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...