Video yerleştirme alanı dahil metin nasıl oluşturulur

Aug 19 2020

Biçimlendirilmiş bir metin alanım var ve kullanıcıların video_embed_wysiwyg alt modülünü kullanarak bu alana video yerleştirmesine izin vermek için video_embed modülünü kullanıyorum.

Daha sonra alanı bir blokta oluşturmaya çalışıyorum, ancak metin alanında JSON çıktısını alıyorum:

{"preview_thumbnail": "/sites/default/files/styles/video_embed_wysiwyg_preview/public/video_thumbnails/A5jNGsBHHUE.jpg?itok=7fW8O9To", "video_url": "https://www.youtube.com/watch?v=* ******* "," settings ": {" responsive ": 1," width ":" 854 "," height ":" 480 "," autoplay ": 1}," settings_summary ": [" Gömülü Video (Duyarlı, otomatik oynatma). "]}

İşte render dizim:

$text=check_markup($node->get('field_html_containing_video_content')->value, $node->get('field_html_containing_video_content')->format); $renderArray=[
      'content'=>[
        '#type'=>'inline_template',
        '#template'=>$text ] ]; return $renderArray; 

İlgili metin biçiminde video yerleştirme filtresini etkinleştirdim ve filtrelerin sırasını değiştirmeyi denedim.

Burada neyi yanlış yaptığıma dair bir fikrin var mı?

Bir bootstrap alt teması kullanıyoruz.

Herhangi bir yardım için teşekkürler.

Yanıtlar

3 4k4 Aug 19 2020 at 11:55

check_markup() bazı metin filtrelerinin düzgün çalışması için gereken ekli meta verileri işleyemez.

Oluşturma öğesini kullanmanız gerekir processed_text:

$renderArray = [ 'content' => [ '#type' => 'processed_text', '#text' => $node->field_html_containing_video_content->value,
    '#format' => $node->field_html_containing_video_content->format,
  ],
];

Daha fazla bilgi Özel bir değişkende düğüm gövdesini nasıl güvenli bir şekilde işleyebilirim?