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

如何用Liquid过滤含group-id属性的购物车line_items数组?

在Shopify Liquid中筛选带嵌套properties的购物车商品

Shopify Liquid的where过滤器**不支持直接通过嵌套属性路径(比如properties.group-id)**筛选数组,这也是你尝试的写法失效的原因——它只能识别对象的直接一级属性,无法解析嵌套的键值对。

目前没有比「for循环+条件判断」更简便的原生实现方式,这是Shopify Liquid语法限制下的最优解。以下是具体的代码示例:

筛选所有带有group-id属性的商品

{% assign filtered_items = empty %}
{% for item in items %}
  {% if item.properties['group-id'] %}
    {% assign filtered_items = filtered_items | push: item %}
  {% endif %}
{% endfor %}

进阶:筛选group-id等于特定值的商品

如果需要匹配具体的属性值,只需调整条件判断:

{% assign target_group = 'your-target-group-id' %}
{% assign filtered_items = empty %}
{% for item in items %}
  {% if item.properties['group-id'] == target_group %}
    {% assign filtered_items = filtered_items | push: item %}
  {% endif %}
{% endfor %}

补充说明

虽然Jekyll的where_exp可以解决嵌套筛选问题,但Shopify Liquid并未集成该过滤器。如果你的场景允许,也可以考虑将group-id设置为产品的元字段(Metafield),不过对于购物车的line_items来说,直接用properties配合for循环仍是最直接的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:20:47