Рейтинг:0

Как визуализировать html-видео в twig

флаг br

У меня есть следующий код в моем файле CustomVideoBlock.php

foreach ($video_result как $video){
    $title = $видео->название;
    $video_body = $video->body_value; 
  }

$video_data = filter_var($video_body, FILTER_SANITIZE_FULL_SPECIAL_CHARS);

$video_data содержит такое значение

<div itemscope="" itemtype="https://schema.org/VideoObject"><meta itemprop="uploadDate" content="Fri Jan 21 2022 15:15:46 GMT-0600 (Central Standard Time)"><meta itemprop="name" content="Laredo Economic Development"><meta itemprop="duration" content="P0Y0M0DT0H2M59S"><meta itemprop="thumbnailUrl" content="https://cdn.jwplayer.com/thumbs/vbnSJqwQ-720.jpg"><meta itemprop="contentUrl" content="https://content.jwplatform.com/videos/vbnSJqwQ-ja6y4YQJ.m4a"></div>

И я возвращаюсь ниже к файлу шаблона ветки (видео-блок).

$ визуализируемый = [
    '#theme' => 'видеоблок',
    '#название' => $название,
    '#описание' => $video_data
  ];
  вернуть $рендерабельный;

В файле ветки я отображаю переменные.

<h6>Заголовок {{ title }}</h6>
{{ описание | сырой}}

Но я получаю все тело html в браузере в двойных кавычках. Мое требование - отображать видео в браузере. Где я делаю неправильно?

Madhav  avatar
флаг br
$video_data содержит такое значение $video_data =
Kevin avatar
флаг in
Ввод должен быть только URL-адресом видео (почему бы не использовать Media для локального или удаленного контента?). Функция темы и шаблон должны отображать окружающую разметку. Тогда вам не нужно использовать необработанный фильтр, и получение пользовательского ввода безопаснее, чем разрешение копирования и вставки как такового.
Madhav  avatar
флаг br
Значение, которое содержит $video_data, поступает из базы данных. Поэтому мы должны передать его в ветку и обработать там.
флаг fr
Сохранение полной разметки в базе данных является плохой схемой. Например, как создать запрос к базе данных для извлечения видео, загруженных в диапазоне дат, если дата видео имеет нестандартный формат и встроена в строку разметки? Разметка должна быть отделена от контента — это только одна из причин, по которой мы откладываем рендеринг и позволяем настраивать разметку в шаблоне темы с помощью Twig. Если вы не можете изменить структуру данных, просто выделите необходимую информацию из строки $video_data и восстановите разметку в шаблоне.
john Smith avatar
флаг gr
я согласен со всеми предыдущими комментаторами, но чтобы решить вашу проблему с вашим кодом, вам, вероятно, нужно также установить флаг `FILTER_FLAG_NO_ENCODE_QUOTES`

Ответить или комментировать

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