Drupal 8 как вывести видео с Youtube

Главные вкладки

Аватар пользователя iehon iehon 16 марта 2020 в 20:22

В отличии от друпал 7 в 8ке можно создавать ноды с видео из коробки.
Подойдет для видео-сайтов, видеокаталогов и т.п..
Лишние модули не нужны.

  1. Включаем модуль Media
  2. Типу материала добавляем поле media
  3. Для вывода видео с ютуба выбираем Remote video
  4. В отображении поля я использую "Готовая к выводу сущность по умолчанию."

Всё, можно создать ноду и проверить работу.

Если не выводит видео:
1. Используйте при добавлении медиа классический путь к видео вида: https://www.youtube.com/watch?v=Pr5q5L8Pd9o
2. Если у вас возникает проблема и вместо видео выводится белое поле, то жмите F12 в браузере.
И смотрите на ошибки.

У меня было:
Загрузка заблокирована X-Frame-Options: получено «DENY» от «http://www.***.org/media/oembed?hash=UbqPp62A-_P2zaDWakRi95RUkU5zEKGuYOI...», сайт запрещает свою загрузку во фреймах. Была совершена попытка загрузки в «http://www***.org/node/6». - в мозилле
В хроме: Refused to display 'http://www.***.org/en/media/oembed?url=https%3A//www.youtube.com/watch%3...' in a frame because it set multiple 'X-Frame-Options' headers with conflicting values ('DENY, SAMEORIGIN'). Falling back to 'deny'.

DENY - запрещает вывод фреймов.
SAMEORIGIN - разрешает только с собственного сайта на котором у вас друпал. А у нас oembed заворачивает вывод фрейма видео именно с нашего сайта. Т.о. это то что нам нужно.

Это означает, что настройки вашего сервера/сайта не позволяют выводить фреймы. Защита наше все по умолчанию.

Решение нашел тут: https://stackoverflow.com/a/59008468
т.е. прописываем в virtualhost

Header always unset X-Frame-Options
Header set X-Frame-Options "SAMEORIGIN"

не знаете куда писать - пишите смело после Order allow,deny Allow from all.

Уфф, сколько времени ушло на это ))) Надеюсь кому-то тоже будет полезно и спасет драгоценное время.
Лично мне записи в htaccess не помогли, но можно попробовать. Если получится напишите в комментариях.

Комментарии

Аватар пользователя jura12 jura12 17 марта 2020 в 5:03

я когда пробовал вставлять видео тоже мучался с полем media. в итоге вставка видео работает без него.
вставляете ютюб через кнопку Поделиться, Встроить, Копировать содержимое с тегом iframe. Вставляем в body с текстовым форматом Полный html.

меня теперь интересует как выводить собственное видео загруженное на сайт. наверно тоже через тег iframe. пробовал через тег video - не получилось. надо еще само видео конвертировать из mp4 в webm.