Tôi đã tạo chế độ xem cho một nút hiển thị nội dung dưới dạng thực thể được hiển thị. Trong số những người khác, tôi xuất trường cơ thể trong mẫu twig:
{{ content.field_body }}
Bây giờ, tôi muốn giới hạn văn bản trong 200 ký tự và đặt ba dấu chấm. Tôi đã thử nghiệm ba cách khác nhau để làm điều đó, nhưng không có gì hiệu quả. Vấn đề là, mỗi cách cũng tính và cắt các ký tự HTML.
1: Tôi đã thêm định dạng "Cắt xén" trong "Quản lý hiển thị" => Văn bản bị giới hạn nhưng không chính xác. Và tôi không có ba dấu chấm.
2: Tôi đã cắt văn bản trong mẫu twig. Nhưng để đếm văn bản tôi phải kết xuất nó trước. Do đó, twig xuất văn bản dưới dạng HTML (Tôi thấy các thẻ HTML trên trang của mình!)
{% set text = content.field_body|render %}
{{ text|length > 200 ? text|slice(0, 200) ~ '...' : text }}
3: Tôi đã cố gắng giải quyết vấn đề trong template_pre process_node (). Ở đây tôi cũng gặp vấn đề tương tự với việc đếm đánh dấu HTML.
$body_text = $node->get('field_body')->getValue()[0]['value'];
$trimmed_text = substr($body_text, 0, 200) . '...';
Làm thế nào tôi có thể cắt văn bản của tôi phải không?
Cảm ơn bạn rất nhiều vì đã giúp đỡ của bạn!