TWIG中如何基于子元素值统计有效规格并控制查看更多链接显示
解决方案
核心思路:先过滤出所有带值的有效规格,再基于过滤后的集合做渲染条数限制和「查看更多」的显示判断,避免无效规格被统计到总数量中。
你使用的是Twig模板语法,可以直接用filter过滤器先完成有效规格的筛选,修改后代码如下:
{# 先筛选出所有有值的有效规格 #} {% set valid_specs = product.specs | filter(spec => spec.value is not empty) %} {# 渲染前5条有效规格 #} {% for spec in valid_specs | limit(5) %} <li> <span>{{ spec.title }}</span> {{ spec.value }} </li> {% endfor %} {# 仅当有效规格总数超过5时显示查看更多链接 #} {% if valid_specs | length > 5 %} <li class="more"><a href="./">{{ 'View all specifications' | t }}</a></li> {% endif %}
兼容旧版Twig的写法
如果你使用的Twig版本不支持箭头函数语法,可以替换筛选逻辑为:
{% set valid_specs = product.specs | filter(function(spec) { return spec.value is not empty; }) %}
内容的提问来源于stack exchange,提问作者Hielke
相关产品推荐
相关产品推荐

