ฉันสร้างมุมมองสำหรับโหนดซึ่งแสดงเนื้อหาเป็นเอนทิตีที่แสดงผล ในบรรดาคนอื่น ๆ ฉันส่งออกฟิลด์ร่างกายในแม่แบบกิ่งไม้:
{{ content.field_body }}
ตอนนี้ฉันต้องการ จำกัด ข้อความไว้ที่ 200 ตัวอักษรและใส่จุดสามจุด ฉันได้ทดสอบวิธีการต่าง ๆ สามวิธี แต่ไม่มีอะไรได้ผล ปัญหาคือว่าแต่ละวิธีนับและตัดแต่งอักขระ HTML ด้วย
1: ฉันได้เพิ่มรูปแบบ "Trimmed" ใน "Manage display" => ข้อความมี จำกัด แต่ไม่ถูกต้อง และฉันไม่มีจุดสามจุด
2: ฉันตัดแต่งข้อความในแม่แบบกิ่งไม้ แต่เพื่อนับข้อความฉันต้องแสดงมันก่อน ดังนั้น, twig เอาท์พุทข้อความเป็น HTML (ฉันเห็นแท็ก HTML บนหน้าของฉัน!)
{% set text = content.field_body|render %}
{{ text|length > 200 ? text|slice(0, 200) ~ '...' : text }}
3: ฉันพยายามแก้ไขปัญหาใน template_preprocess_node () ที่นี่ฉันมีปัญหาเดียวกันกับการนับมาร์กอัป HTML ด้วย
$body_text = $node->get('field_body')->getValue()[0]['value'];
$trimmed_text = substr($body_text, 0, 200) . '...';
ฉันจะตัดข้อความได้อย่างไร
ขอบคุณมากสำหรับความช่วยเหลือของคุณ!