如何在Drupal视图模板中自定义内容并设置Body字符限制?
修改Drupal视图模板:将Body转为纯文本并限制600字符
要实现需求,只需修改模板中的{{ body }}输出部分,利用Twig的过滤器组合处理内容:
- 使用
striptags移除Body中的所有HTML标签,转为纯文本 - 使用
trim去除文本首尾的空白字符(可选但推荐) - 使用
slice(0, 600)截取前600个字符 - 可选添加判断,当原文长度超过600时显示省略号
修改后的完整模板代码如下:
<div class="row"> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12 service mt-4"> <div class="services__content"> <h3 class="display-3--title mt-1 text-center">{{ title }}</h3> {% set plain_body = body|striptags|trim %} {{ plain_body|slice(0, 600) }}{% if plain_body|length > 600 %}...{% endif %} {% if field_provide_view_more == 1 %} {{ view_node }} {% endif %} </div> </div> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12 service mt-4"> <div class="services__pic"> {{ field_image }} </div> </div> </div>
关键说明:
striptags:彻底清除Body内容里的HTML格式,确保输出纯文本slice(0, 600):精确控制输出字符数,从第0位开始截取600个字符- 省略号判断:避免截断到单词中间时显得突兀,提升用户体验
内容的提问来源于stack exchange,提问作者kAzAA
相关产品推荐
相关产品推荐

