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

Shopify Liquid循环计数重置问题:过滤停产产品后展示不全

解决Shopify推荐区跳过停产产品后数量不足的问题

你原来的代码之所以失效,是因为Liquid的limit参数在循环启动时就已经确定了数值,循环过程中用{% increment number_of_products %}修改变量根本影响不了已经生效的限制——哪怕你跳过了停产产品,循环到设定的次数就会直接停止,自然会出现展示数量不够的情况。

正确的做法是先过滤掉带'discontinued'标签的产品,再从筛选后的有效产品里取指定数量,代码示例如下:

{% comment %} 先筛选出所有非停产的产品 {% endcomment %}
{% assign valid_products = related_collection.products | where_exp: "product", "product.tags contains 'discontinued' == false" %}

{% comment %} 从有效产品中取你需要的数量(比如4个,或者用section设置值) {% endcomment %}
{%- for product in valid_products limit: 4 -%}
  {%- render 'product-grid-item',
      product: product,
      per_row: section.settings.products_per_row,
      quick_shop_enable: settings.quick_shop_enable,
      fallback: '39vw',
  -%}
{%- endfor -%}

如果你的数量限制是通过后台section设置的(比如section.settings.number_of_products),把limit:4改成limit: section.settings.number_of_products即可。

这种方式先把所有符合要求的产品挑出来,再从中截取指定数量,就能保证最终展示的商品数量完全符合你的需求,不会因为跳过停产产品出现空缺。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 02:57:42