मैंने एक नोड के लिए एक दृश्य बनाया है जो सामग्री को प्रदान की गई इकाई के रूप में दिखाता है। दूसरों के बीच, मैं टहनी टेम्पलेट में शरीर क्षेत्र का उत्पादन करता हूं:
{{ content.field_body }}
अब, मैं पाठ को 200 वर्णों तक सीमित करना चाहता हूं और तीन बिंदुओं को रखना चाहता हूं। मैंने ऐसा करने के लिए तीन अलग-अलग तरीकों का परीक्षण किया है, लेकिन कुछ भी काम नहीं किया है। समस्या यह है, कि प्रत्येक तरह से HTML वर्णों को भी गिना और ट्रिम किया जाता है।
1: मैंने "प्रबंधित प्रदर्शन" में प्रारूप "छंटनी" जोड़ दिया है => पाठ सीमित है लेकिन सही नहीं है। और मेरे पास तीन डॉट्स नहीं हैं।
2: मैंने पाठ को टहनी टेम्पलेट में ट्रिम किया है। लेकिन पाठ को गिनने के लिए मुझे पहले इसे प्रस्तुत करना होगा। इस प्रकार, पाठ 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) . '...';
मैं अपने टेक्स्ट को सही कैसे ट्रिम कर सकता हूं?
मदद के लिए आपका बहुत बहुत धन्यवाद!