ivideo не распознает ссылки с youtube формата Shorts.

#1 24 октября 2022 в 00:35

Нужна помощь.

Столкнулся с тем, что ivideo распознает не все ссылки с youtube. В данном случае речь идет о формате  Shorts.
Например, такая: youtube.com/shorts/bcXZ88y3Po0?feature=share
Как это исправить?
Стоит последняя версия ivideo 2.2.3 php 7.2+
InstantCMS 2.15.2

#2 28 октября 2022 в 19:20

Неужели ни у кого нет ответа на вопрос? Хотя бы подскажите где смотреть проблему.

#3 28 октября 2022 в 20:04

Компонент под кубиком. Как вы видите решение без помощи автора компонента?..

Насколько я знаю, у iVideo есть официальный форум поддержки...

#4 28 октября 2022 в 22:01

Как вы видите решение без помощи автора

Zau4man

С помощью java script, добавленного в шаблон страницы добавления ролика.

Если ссылка на ролик содержит "/youtube.com/shorts" делать из неё ссылку вида «youtu.be/(ид ролика)»

Далее — обычный импорт ролика с ютуб)

Здесь instantcms.ru/forum/pfind/353322 уже высказывал наблюдение о том, что ссылки на шортсы (если  их переформатировать в обычный формат) нормально открываются в браузере в стандартном плеере. Думаю, будут и импортироваться как обычный ролик в обычном плеере, хотя компонентом не пользуюсь не проверял.

#5 31 октября 2022 в 19:51

Как вы видите решение без помощи автора

Zau4man

С помощью java script, добавленного в шаблон страницы добавления ролика.

Если ссылка на ролик содержит "/youtube.com/shorts" делать из неё ссылку вида «youtu.be/(ид ролика)»

Далее — обычный импорт ролика с ютуб)

Здесь instantcms.ru/forum/pfind/353322 уже высказывал наблюдение о том, что ссылки на шортсы (если  их переформатировать в обычный формат) нормально открываются в браузере в стандартном плеере. Думаю, будут и импортироваться как обычный ролик в обычном плеере, хотя компонентом не пользуюсь не проверял.

Нил™

Вы правы. Только что проверил на ссылке
youtube.com/shorts/bcXZ88y3Po0?feature=share
используя ваш метод, получил ссылку
youtube.com/watch?v=bcXZ88y3Po0

Видео стало прекрасно добавляться. Вот как теперь это использовать на сайтах на автомате?

Кстати ВК грузят Шортсы, но их потом на сайт тоже никак не получается добавить.

#6 31 октября 2022 в 23:40

Посмотрите какой id у input поля в которое вставляется ссылка на видео для импорта. Посмотреть можно — открыв файл шаблона, который отвечает за добавление видео или в браузере — клик мышкой -  «посмотреть код»

В коде ниже  замените videolink на тот id о котором идёт речь выше

  1. <script>
  2. $("#videolink").on("input", function() {
  3. var oL = $(this).val();
  4. if ( oL.search("youtube.com/shorts") != -1 ) {
  5. nL = oL.replace("youtube.com/shorts","youtu.be");
  6. $("#videolink").val(nL);
  7. alert("Вместо ссылки в формате Shorts " + oL + " будет использована стандартная ссылка " + nL);
  8. }
  9. });
  10. </script>

Вставьте этот код в файл шаблона, о котором говорилось выше или выводите на страницу добавления видео через какой нибудь виджет, куда можно вставлять такой код.

Если всплывающее окно не нужно, строку alert можно удалить

Если всё пойдёт как задумано, после вставки ссылки на видео, если в ссылке есть упоминание ютуба и шортс, ссылка сразу будет заменена на другую в нужном формате, потом нужно будет нажать на кнопку «импортировать видео» — как и в обычном случае

#7 4 ноября 2022 в 18:44

Спасибо, но не помогло.
В скрипте заметил videolink на video и разместил в самом конце шаблона.
Получаю ошибку 500 (смотрите скрин

Изображение

Что делать? Такое на всех шаблонах. Что делаю не так?

#8 4 ноября 2022 в 19:49

(смотрите скрин

vikont


Скрин с фрагментом кода шаблона где вставлен <script> был бы полезнее.

Похоже, вы вставили код где то среди php кода между то есть <?php и ?>

С двойкой не знаком, но посмотрел как выглядит файл шаблона, ниже пример как нужно

Изображение

#9 7 ноября 2022 в 23:23

Можно уточнить, какой именно шаблон вы смотрели для двойки? И где он находится?
Я использую версию 2.15.2 и те шаблоны что вижу, в дефолтной версии, все на PHP

#10 10 ноября 2022 в 14:29

Можно уточнить, какой именно шаблон вы смотрели для двойки?

vikont

\templates\default\main.tpl.php

#11 14 ноября 2022 в 01:05

Можно уточнить, какой именно шаблон вы смотрели для двойки?

vikont

\templates\default\main.tpl.php

Нил™

Спасибо, но у меня в шаблоне main.tpl.php не заработало.
Так же нашел шаблон поля ivideo ivideo.tpl.php но и здесь так же не работает.

У кого то получилось сделать подмену ссылки с помощью скрипта?

#12 16 ноября 2022 в 21:13

Так никто и не победил шортсы на ivideo?

#13 16 ноября 2022 в 23:30

Спасибо, но у меня в шаблоне main.tpl.php не заработало.
Так же нашел шаблон поля ivideo ivideo.tpl.php но и здесь так же не работает.

vikont

если посмотреть исходный код страницы, там есть этот скрипт? Через виджет ниже поля видео не пробовали?

Сам метод автозамены вполне рабочий, вот пример

Возможно неправильно вставлен и не выводится на странице, возможно какие то особенности обработки шаблона в двойке, о которых я не знаю, но вроде я смотрел в дефолтном шаблоне таким образом js вставляется) 

Добавлено спустя 17 минут

Другой вариант вставки в php файл

  1. <?php
  2. echo '<script>
  3. $("#videolink").on("input", function() {
  4. var oL = $(this).val();
  5. if ( oL.search("youtube.com/shorts") != -1 ) {
  6. nL = oL.replace("youtube.com/shorts","youtu.be");
  7. $("#videolink").val(nL);
  8. alert("Вместо ссылки в формате Shorts " + oL + " будет использована стандартная ссылка " + nL);
  9. }
  10. });
  11. </script>';
  12. ?>

или совсем по фен-шую засунуть это

  1. $("#videolink").on("input", function() {
  2. var oL = $(this).val();
  3. if ( oL.search("youtube.com/shorts") != -1 ) {
  4. nL = oL.replace("youtube.com/shorts","youtu.be");
  5. $("#videolink").val(nL);
  6. alert("Вместо ссылки в формате Shorts " + oL + " будет использована стандартная ссылка " + nL);
  7. }
  8. });

в файл shortsreplace.js

и подключить js скрипт для страницы добавления видео согласно документации двойки, как то так https://docs.instantcms.ru/

возможно, кто работает с двойкой — подскажет подробнее

#14 19 ноября 2022 в 23:43

или совсем по фен-шую засунуть это

  1. $("#videolink").on("input", function() {
  2. var oL = $(this).val();
  3. if ( oL.search("youtube.com/shorts") != -1 ) {
  4. nL = oL.replace("youtube.com/shorts","youtu.be");
  5. $("#videolink").val(nL);
  6. alert("Вместо ссылки в формате Shorts " + oL + " будет использована стандартная ссылка " + nL);
  7. }
  8. });

в файл shortsreplace.js

и подключить js скрипт для страницы добавления видео согласно документации двойки, как то так https://docs.instantcms.ru/

возможно, кто работает с двойкой — подскажет подробнее

Нил™

Изображение

Я правильно подключил скрипт или накосячил? Скорее всего что то неправильно так как не работает.
Файл shortsreplace.js создал и разместил в папке js своего шаблона.
Такое подключение скрипта вызывает ошибку 500 и сайт вообще не грузится.

Добавлено спустя 36 минут

Вставил в конец файла main.tpl.php тоже не работает.
Изображение

В коде страницы скрипт есть.

#15 19 ноября 2022 в 23:55

Такое подключение скрипта вызывает ошибку 500 и сайт вообще не грузится.

vikont

ошибка 500 (если нет других проблем) из-за того, что слово shortreplace в одинарных кавычках — там не нужны — то есть чтобы не было 500: 'js/shortsreplace.js'

Метод подключения js, как я понял, в шаблонах двойки такой:

1. js файл кладём в папку /js используемого шаблона

2. в самом шаблоне в main.tpl или в нужном контроллере указываем только имя файла без пути и разрешения в таком виде:

<?php $this->addTplJSName('shortsreplace'); ?>

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.