วิธีแสดงข้อความรวมถึงฟิลด์ฝังวิดีโอ
ฉันมีช่องข้อความที่จัดรูปแบบแล้วและกำลังใช้โมดูล video_embed เพื่ออนุญาตให้ผู้ใช้ฝังวิดีโอลงในช่องนั้นโดยใช้โมดูลย่อย video_embed_wysiwyg
จากนั้นฉันพยายามแสดงฟิลด์ในบล็อก แต่ฉันได้รับเอาต์พุต JSON ในช่องข้อความ:
{"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 ": [" Embedded วิดีโอ (ตอบสนองและเล่นอัตโนมัติ) "]}
นี่คืออาร์เรย์การแสดงผลของฉัน:
$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;
ฉันได้เปิดใช้งานตัวกรองการฝังวิดีโอในรูปแบบข้อความที่เกี่ยวข้องและได้ลองเปลี่ยนลำดับของตัวกรองแล้ว
มีความคิดอะไรที่ฉันทำผิดที่นี่?
เรากำลังใช้ธีมย่อย bootstrap
ขอบคุณสำหรับความช่วยเหลือใด ๆ
คำตอบ
check_markup()
ไม่สามารถจัดการข้อมูลเมตาที่แนบมาซึ่งตัวกรองข้อความบางตัวต้องทำงานได้อย่างถูกต้อง
คุณต้องใช้องค์ประกอบการแสดงผลprocessed_text
:
$renderArray = [ 'content' => [ '#type' => 'processed_text', '#text' => $node->field_html_containing_video_content->value,
'#format' => $node->field_html_containing_video_content->format,
],
];
ข้อมูลเพิ่มเติมจะแสดงเนื้อหาโหนดอย่างปลอดภัยบนตัวแปรที่กำหนดเองได้อย่างไร