You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal多值Paragraph字段分栏显示异常求助:列3无内容且行重复

解决Drupal Paragraph模板列无内容+行重复问题

1. 先确认字段多值设置

得先检查field_name和field_bio这两个字段,在Paragraph类型的配置里是不是设成了允许多个值(至少允许2个),不然根本存不了两位人员的信息,这是基础。

2. 修正Twig模板代码

你的问题主要出在两处:

  • 直接用content.field_name.1这种方式访问多值字段内容不对,Drupal的渲染数组里,多值字段的单个项得用正确的方式获取;
  • 模板里大概率还留着默认的{{ content }}输出,这会导致行结构重复渲染。

给你两种修改方案,按需选择:

方案一:直接取字段原始值(适合不需要字段格式渲染的场景)

{# 一定要删掉模板里默认的 {{ content }} 语句,不然会重复 #}
<div class="row">
  <div class="col-4">
    {# 第一位人员的信息 #}
    {% if content.field_name['#items'] is not empty %}
      <h3>{{ content.field_name['#items'].0.value }}</h3>
    {% endif %}
    {% if content.field_bio['#items'] is not empty %}
      <p>{{ content.field_bio['#items'].0.value }}</p>
    {% endif %}
  </div>
  <div class="col-4">
    {# 中间空列 #}
  </div>
  <div class="col-4">
    {# 第二位人员的信息,先判断有没有第二值 #}
    {% if content.field_name['#items']|length > 1 %}
      <h3>{{ content.field_name['#items'].1.value }}</h3>
    {% endif %}
    {% if content.field_bio['#items']|length > 1 %}
      <p>{{ content.field_bio['#items'].1.value }}</p>
    {% endif %}
  </div>
</div>

方案二:保留字段渲染格式(适合字段有格式设置的场景)

如果你的字段设置了文本格式(比如富文本),用这个方案能保留原有格式:

<div class="row">
  <div class="col-4">
    {{ render(content.field_name.0) }}
    {{ render(content.field_bio.0) }}
  </div>
  <div class="col-4"></div>
  <div class="col-4">
    {# 先判断第二值是否存在,避免报错 #}
    {% if content.field_name.1 is defined %}
      {{ render(content.field_name.1) }}
    {% endif %}
    {% if content.field_bio.1 is defined %}
      {{ render(content.field_bio.1) }}
    {% endif %}
  </div>
</div>
{# 必须删掉默认的 {{ content }},否则行重复 #}

3. 最后别忘了清缓存

改完模板一定要去Drupal后台的「配置→性能」里清除所有缓存,不然新模板不会生效。

排查小技巧

  • 要是第三列还是没内容:去检查Paragraph实例里是不是真的填了两位人员的信息,字段值有没有保存成功;
  • 要是行还重复:仔细看模板里有没有漏删{{ content }}语句,这个是重复的关键原因。

内容的提问来源于stack exchange,提问作者Munya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:35:11