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

Shopify Liquid中如何从关联JSON元字段获取group_title值

Shopify Liquid获取指定元字段中group_title值的写法

首先明确你拿到的元字段解析后的数据层级:

  • 顶级节点包含collections、group两个键
  • group节点的值是键值对结构,键为动态生成的数字ID(示例中为1656046878),每个ID对应的值是数组
  • Liquid数组下标从0开始计数,第1个元素(下标0)就是存储group_title的对象

固定ID直接取值

如果你明确要取的group的ID(比如示例里的1656046878),直接按层级取值即可:

{% assign faq_config = shop.metafields.advance_faq_app.advance_faq_app %}
<!-- 注意数字类型的动态键必须用中括号+引号包裹,不能直接用点语法 -->
{{ faq_config.group['1656046878'][0].group_title }}

以上代码输出结果为page1,和示例数据完全对应。

遍历所有group动态取值

如果group下有多个未知ID的分组,直接遍历group节点即可,不需要写死ID:

{% assign faq_config = shop.metafields.advance_faq_app.advance_faq_app %}
<ul>
{% for group_id, group_content in faq_config.group %}
  <li>
    分组ID:{{ group_id }}<br>
    分组标题:{{ group_content[0].group_title }}<br>
    分组样式:{{ group_content[1].style }}
    <!-- 选中集合字段是字符串格式的JSON,需要转成数组才能遍历使用 -->
    {% assign selected_coll_ids = group_content[2].selected_coll | parse_json %}
  </li>
{% endfor %}
</ul>

原有代码的问题

你之前写的循环没有用到循环变量field,属于无效循环。如果要遍历元字段的顶级节点,正确写法为:

{% for top_key, top_value in shop.metafields.advance_faq_app.advance_faq_app %}
  <li>顶级键:{{ top_key }}</li>
{% endfor %}

该循环会依次输出collections、group两个顶级键名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:57:23