İçeriği işlenen varlık olarak gösteren bir düğüm için bir görünüm oluşturdum. Diğerleri arasında, dal şablonundaki gövde alanını çıktıyorum:
{{ content.field_body }}
Şimdi, metni 200 karakterle sınırlamak ve üç nokta koymak istiyorum. Bunu yapmanın üç farklı yolunu test ettim, ama hiçbir şey işe yaramadı. Sorun, her yolun HTML karakterlerini de sayması ve kesmesidir.
1: "Görüntüyü yönet" => "Kesilmiş" biçimini ekledim. Metin sınırlıdır ancak doğru değildir. Ve üç noktam yok.
2: Dal şablonundaki metni kırptım. Ama metni saymak için önce onu işlemeliyim. Böylece, dal metni HTML olarak çıkarır (Sayfamda HTML etiketleri görüyorum!)
{% set text = content.field_body|render %}
{{ text|length > 200 ? text|slice(0, 200) ~ '...' : text }}
3: Sorunu template_preprocess_node () içinde çözmeye çalıştım. Burada ben de HTML işaretleme sayma ile aynı sorunu var.
$body_text = $node->get('field_body')->getValue()[0]['value'];
$trimmed_text = substr($body_text, 0, 200) . '...';
Metnimi nasıl düzeltebilirim?
Yardımın için çok teşekkürler!