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

如何完全使用Liquid实现遍历产品变体并存储数据到变量?

纯Liquid实现产品变体库存数据存储

要完全用Liquid实现你原来的功能,核心是利用Liquid的assign标签和merge过滤器构建存储变体库存数据的对象,具体实现如下:

{% assign variants_with_inventory_data = {} %}

{% for variant in product.variants %}
  {% comment %} 创建单个变体的库存数据对象 {% endcomment %}
  {% assign variant_inventory = {
    "inventory_quantity": variant.inventory_quantity,
    "inventory_policy": variant.inventory_policy,
    "inventory_management": variant.inventory_management,
    "inventory_item_id": 0
  } %}
  
  {% comment %} 将单个变体数据合并到总对象中,以变体ID作为键 {% endcomment %}
  {% assign variants_with_inventory_data = variants_with_inventory_data | merge: { variant.id: variant_inventory } %}
{% endfor %}

代码说明:

  1. 先用{% assign %}初始化空对象variants_with_inventory_data,用于存储所有变体的库存数据。
  2. 遍历product.variants时,为每个变体创建单独的库存数据对象variant_inventory,包含你需要的字段。
  3. 使用merge过滤器将当前变体的键值对(键为变体ID,值为库存数据对象)合并到总对象中,完成数据累积存储。

如果需要将这个Liquid对象转换为和原JS代码结构一致的JSON格式,可使用json过滤器输出:

{{ variants_with_inventory_data | json }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:06:01