我已经为节点创建了一个视图,该视图将内容显示为呈现的实体。除其他外,我在树枝模板中输出body字段:
{{ content.field_body }}
现在,我想将文本限制为200个字符,并放置三个点。我已经测试了三种不同的方法来执行此操作,但是没有任何效果。问题是,每种方式也都计数和修剪HTML字符。
1:我在“管理显示”中添加了“修剪”格式=>文本有限,但不正确。而且我没有三个点。
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) . '...';
如何正确修剪文字?
非常感谢您的帮助!