首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在段落实体中,根据实体引用项的数量(长度)更改CSS类

在段落实体中,根据实体引用项的数量(长度)更改CSS类
EN

Drupal用户
提问于 2020-04-25 19:51:59
回答 3查看 71关注 0票数 0

在我的段落小枝文件paragraph--call-to-actions.html.twig中,我希望呈现和构建实体引用项(来自特定段落类型的子项)。

可能有3或4个项目。基于条目(3或4)的length,我希望更改标记/更改CSS类,以便有3或4列。

paragraph--call-to-actions.html.twig中,我可以这样做:

代码语言:javascript
复制
{% if content.field_call_to_actions|length == 3 %}
  {# Build 3 column item markup here #}
{% elseif content.field_call_to_actions|length == 4 %}
  {# Build 4 column item markup here #}

但是,如何循环遍历实体引用项(段落类型项),以便打印段落类型的所有字段?

还是有一种更清洁的方法?

更新:我通过将field.html.twig扩展到field--paragraph--call-to-actions.html.twig找到了一个解决方案,在那里:

代码语言:javascript
复制
{% for item in items %}

  <div class="card mx-6 md:mx-4 mb-6 md:mb-0
  {% if items|length == 3 %}
    md:w-1/3
  {% elseif items|length == 4 %}
    md:w-1/2 lg:w-1/4
  {% endif %}
  ">
    {{ item.content }}
  </div>

{% endfor %}

我不能在这里使用loop.lenght,因为不同的断点。

我可以在没有重复类的情况下写这个更干净的东西吗?

EN

回答 3

Drupal用户

回答已采纳

发布于 2020-05-06 08:39:59

我找到了一个解决方案,方法是将field.html.twig扩展到字段-第

代码语言:javascript
复制
{% for item in items %}

  <div class="card mx-6 md:mx-4 mb-6 md:mb-0
  {% if items|length == 3 %}
    md:w-1/3
  {% elseif items|length == 4 %}
    md:w-1/2 lg:w-1/4
  {% endif %}
  ">
    {{ item.content }}
  </div>

{% endfor %}
票数 0
EN

Drupal用户

发布于 2020-04-25 20:38:48

代码语言:javascript
复制
{% for action in paragraph.field_call_to_actions %}
    {{ paragraph.action.value }}
{% endfor %}
票数 0
EN

Drupal用户

发布于 2020-05-04 20:45:24

我的建议是使用嫩枝场值模块。

代码语言:javascript
复制
{% for action in paragraph.field_call_to_actions %}
    {{ paragraph.action|field_value }}
{% endfor %}

代码语言:javascript
复制
{% for action in paragraph.field_call_to_actions %}
    {{ paragraph.action|field_value|render }}
{% endfor %}
票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/293131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档