Миниатюры видео youtube для instantcms 2 2.X

 
Посетитель
small user social cms
Сообщений: 56
Добрый день!

Надо сделать, что бы миниатюры от видео youtube подгружались автоматически и выводились в списках.

Мое виденье решение этой задачи, сделать кнопу рядом с стандартной кнопкой загрузки картинок.
Миниатюры видео  youtube для instantcms 2

При её нажатии будет автоматически парситься миниатюра от видео youtube, которое первое идет в редакторе.


Готов рассмотреть все предложения цены и сроки.
Редактировалось: 2 раз (Последний: 25 сентября 2018 в 13:17)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4388
1. Файл /system/controllers/images/frontend.php. После строк

Код PHP:
  1. if (!cmsUser::isLogged()) {
  2.  
  3. return $this->cms_template->renderJSON(array(
  4. 'success' => false,
  5. 'error' => 'auth error'
  6. ));
  7.  
  8. }
Вставить

Код PHP:
  1. if($this->request->has($name)){
  2.  
  3. $mb_link = $this->request->get($name, '');
  4.  
  5. // ссылка на YouTube?
  6. if(preg_match('#(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\/?\?(?:\S*?&?v\=))|youtu\.be\/)([a-zA-Z0-9_-]{6,11})#ui', $mb_link, $matches) && !empty($matches[1])){
  7. $_POST[$name] = 'https://img.youtube.com/vi/'.$matches[1].'/maxresdefault.jpg';
  8. }
  9.  
  10. }
2. В настройках поля включить чекбокс "Разрешить добавление по ссылке".

3. При нажатии на "добавить по ссылке", вставляете туда ссылку на ролик YouTube.

4. Всё остальное делается автоматически.

Гарри:
Готов рассмотреть все предложения цены и сроки.
500$, срок пол года.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Реклама
cms
Посетитель
small user social cms
Сообщений: 56
Fuze, Огромнейшее спасибо!!!

Только там получается один нюанс. Если на конце ссылки указаны секунды
Код PHP:
  1. https://www.youtube.com/watch?v=ССЫЛКА-НА-ВИДЕО&t=4s
то загружается картинка заглушка. Можно это как-то отфильтровать? Я сам в написание кода не очень силен(мягко сказать)
zst
Редактировалось: 1 раз (Последний: 25 сентября 2018 в 22:54)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 3460
Fuze, спасибо!
Дизайн для Инстант = Я зарабатываю тут =
= Уроки для Конструктора тем =
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4388
Гарри:
Если на конце ссылки указаны секунды
Проверил по вашей ссылке, всё нормально загружается.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Сообщений: 56
Fuze:

Проверил по вашей ссылке, всё нормально загружается.

И правда. Оказалась загвоздка в другом. У некоторых видео оказывается миниатюры не всех размеров. Например вот это видео
https://www.youtube.com/watch?v=EF2LJgcrsY0

У него получаться нет миниатюр большого размера и загружается заглушка. Проверял через этот сервис http://www.fwait.com/online-youtube-thumbnail-grabber/

Миниатюры видео  youtube для instantcms 2
Редактировалось: 1 раз (Последний: 26 сентября 2018 в 14:19)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4388
Код PHP:
  1. if($this->request->has($name)){
  2.  
  3. $mb_link = $this->request->get($name, '');
  4.  
  5. // ссылка на YouTube?
  6. if(preg_match('#(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\/?\?(?:\S*?&?v\=))|youtu\.be\/)([a-z0-9_-]{6,11})#ui', $mb_link, $matches) && !empty($matches[1])){
  7.  
  8. $images = array(
  9. 'https://img.youtube.com/vi/'.$matches[1].'/maxresdefault.jpg',
  10. 'https://img.youtube.com/vi/'.$matches[1].'/sddefault.jpg',
  11. 'https://img.youtube.com/vi/'.$matches[1].'/hqdefault.jpg'
  12. );
  13.  
  14. foreach ($images as $ytimg) {
  15.  
  16. $h = get_headers($ytimg, true);
  17. $code = substr($h[0], 9, 3);
  18.  
  19. if((int)$code < 400){
  20. $_POST[$name] = $ytimg; break;
  21. }
  22.  
  23. }
  24.  
  25. }
  26.  
  27. }
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Сообщений: 56
Теперь всё загружается.

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

Может кто поможет реализовать, но пока и так будем пользоваться.

Fuze, Ещё раз огромное спасибо!!!
Посетитель
small user social cms
Сообщений: 56
Подскажите как это реализовать в версии InstantCMS v2.12.2, а то там поменялся код в файле. Пробовал подставлять и миниатюра не появляется.
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4388
Миниатюры видео  youtube для instantcms 2
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Сообщений: 56
Вставил именно туда код. Миниатюра в записи появляется, а вот в списке вместо миниатюры серый блок
Миниатюры видео  youtube для instantcms 2

В поле вроде все настроено.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.