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

如何在Shopify产品页面显示匹配产品类型的集合元字段?

在Shopify产品页面显示对应集合元字段的方法

由于产品页面默认没有关联的collection对象,你需要通过product.type匹配到对应集合后,再调用其元字段,以下是两种可行方案:

方案一:通过集合Handle匹配(推荐)

如果你的集合Handle是产品类型的标准化格式(比如产品类型为"智能手表",集合Handle为"smart-watches"),可以直接通过Handle快速定位集合:

{% assign target_collection = collections[product.type | handle] %}
{% if target_collection %}
  <!-- 替换成你需要展示的元字段内容和样式 -->
  <div class="collection-meta">
    {{ target_collection.metafields.custom.metafield1 }}
  </div>
{% else %}
  <p>暂无相关集合信息</p>
{% endif %}
  • product.type | handle会自动将产品类型转换为Shopify标准的Handle格式(小写、空格转连字符、去除特殊字符),只要集合Handle和这个转换结果一致就能匹配成功。

方案二:通过集合标题匹配

如果集合标题和产品类型完全一致(大小写、字符都匹配),可以循环所有集合查找目标:

{% assign target_collection = nil %}
{% for collection in collections %}
  {% if collection.title == product.type %}
    {% assign target_collection = collection %}
    {% break %}
  {% endif %}
{% endfor %}

{% if target_collection %}
  <div class="collection-meta">
    {{ target_collection.metafields.custom.metafield1 }}
  </div>
{% else %}
  <p>暂无相关集合信息</p>
{% endif %}

注意事项

  • 优先用方案一,因为Handle是唯一且标准化的,避免标题大小写、字符差异导致匹配失败。
  • 测试时可以先输出{{ product.type | handle }},确认转换后的字符串和目标集合的Handle完全一致。
  • 如果元字段是富文本类型,需要用{{ target_collection.metafields.custom.metafield1.value }}或者{{ target_collection.metafields.custom.metafield1 | metafield_tag }}来正确展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:02:33