Фикс : маленькие размеры видео c YouTube

Фикс : маленькие размеры видео c YouTube

С недавних пор видео c Ютуба стали вставляться маленького размера. То есть в хтмл коде вызова ролика прописываются маленькие ширина и высота:
<iframe width=312 height=200

При этом видео вставляется, как обычно, используя стандартный тег media=ссылка_на_ютуб_ролик. Случилась эта проблема на DLE версии 13 и выше. Причина - обновление на YouTube, т.к. media не использует какие либо стандартные плееры DLE, а использует тот код который получает от сервиса.
Решение 1 - в CSS стили можно принудительно задать размеры iframe...
iframe {
    max-width: 100%;
    width: 640px;
    height: 480px;
}

Решение 2 - просим YouTube вежливо изменить размеры видео...
В engine/classes/parse.class.php найти:
if($data = $this->fetch($provider, $url, $args)) {

Добавить выше:
include (ENGINE_DIR . '/data/videoconfig.php');
$args["width"] = $video_config['width'];
$args["height"] = $video_config['height'];

Решение 3 - принудительно меняем размеры всех видео...
В engine/classes/parse.class.php найти:
case 'video':

Добавить ниже:
$html = ( $data->html != '' ) ? $data->html : false;
include (ENGINE_DIR . '/data/videoconfig.php');
$html = preg_replace("#width=\".+?\"#is", "width=\"". $video_config['width'] ."\"", $html) ;
$html = preg_replace("#height=\".+?\"#is", "height=\"". $video_config['height'] ."\"", $html) ;
break;

Готово!

Важно: после этого следует очистить кеш и сделать перестроение публикаций.
 
Версия DLE: 13.x-14.1
 
Автор: Grey
Источник:
  • Oxigen
  • 1
  • 301
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.

Комментариев 1

nouname 8 февраля 2021 00:05
2-й вариант не работает никак.
3-й не корректно работает. Ширина выставляет 100% А вот в высоту примерно 20%. Тестировалось на DLE 14.1