Puncte:0

Cum să redați corpul video html în twig

drapel br

Am următorul cod în fișierul meu CustomVideoBlock.php

foreach ($video_result ca $video){
    $titlu = $video->titlu;
    $video_body = $video->body_value; 
  }

$video_data = filter_var($video_body, FILTER_SANITIZE_FULL_SPECIAL_CHARS);

$video_data păstrează acest tip de valoare

<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>

Și mă întorc mai jos la fișierul șablon twig (video-block).

$renderable = [
    '#theme' => 'blocare video',
    '#title' => $title,
    '#description' => $video_data
  ];
  returnează $renderable;

În fișierul twig redau variabilele.

<h6>Titlul {{ titlu }}</h6>
{{ descriere | brut}}

Dar primesc tot corpul html din browser între ghilimele duble. Cerința mea este să redați videoclipul în browser. Unde gresesc?

Madhav  avatar
drapel br
$video_data păstrează acest tip de valoare $video_data =
Kevin avatar
drapel in
Intrarea ar trebui să fie doar adresa URL a videoclipului (de ce să nu folosiți Media pentru conținut local sau la distanță?). Funcția de temă și șablonul ar trebui să redeze marcajul din jur. Atunci nu trebuie să utilizați filtrul brut și primirea intrărilor utilizatorului este mai sigură decât a permite copierea lipirii ca atare.
Madhav  avatar
drapel br
Valoarea pe care o deține $video_data provine din baza de date. Așa că trebuie să o trecem la ram și să o procesăm acolo.
drapel fr
Este un design slab pentru a stoca marcajul complet în baza de date. De exemplu, cum construiți o interogare de bază de date pentru a prelua videoclipurile încărcate într-un interval de date, dacă data videoclipului este într-un format nestandard și este încorporată într-un șir de markup? Markupul ar trebui să fie separat de conținut - acesta este doar unul dintre motivele pentru care amânăm redarea și permitem personalizarea markupului într-un șablon de temă folosind Twig. Dacă nu puteți schimba designul datelor, atunci doar analizați informațiile necesare din șirul $video_data și reconstruiți marcajul în șablon.
john Smith avatar
drapel gr
Sunt de acord cu toți cei care au comentat anterior, dar pentru a vă rezolva problema cu codul dvs. așa cum este, probabil că trebuie să setați și marcajul `FILTER_FLAG_NO_ENCODE_QUOTES`

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.