Shopify商品元字段值提取:如何获取18KT这类纯文本内容?
解决Shopify富文本元字段提取纯文本的问题
问题原因
你添加的goldpurity和diamond weight元字段类型为富文本(Rich Text),因此调用时会返回带格式结构的JSON对象,而非直接的纯文本值。你之前的代码无效,是因为变量gold_purity_json未正确关联到元字段的实际值。
两种可行解决方案
方案1:使用Shopify内置过滤器(推荐)
Shopify提供了strip_html过滤器,可直接移除富文本的格式标记,提取纯文本:
<!-- 获取goldpurity的纯文本值 --> <p>{{ product.metafields.custom.goldpurity | strip_html }}</p> <!-- 获取diamond weight的纯文本值 --> <p>{{ product.metafields.custom.diamond_weight | strip_html }}</p>
方案2:手动解析JSON对象
如果需要更精细的内容控制,可直接解析元字段返回的对象(无需额外parse过滤器,Shopify已自动解析为Liquid对象):
<!-- 处理goldpurity --> {% assign gold_purity_obj = product.metafields.custom.goldpurity %} {% assign gold_purity_value = gold_purity_obj.children[0].children[0].value %} <p>{{ gold_purity_value }}</p> <!-- 处理diamond weight --> {% assign diamond_weight_obj = product.metafields.custom.diamond_weight %} {% assign diamond_weight_value = diamond_weight_obj.children[0].children[0].value %} <p>{{ diamond_weight_value }}</p>
额外提示
如果后续添加元字段时不需要格式支持,建议选择**单行文本(Single Line Text)**类型,调用时可直接获取纯文本,无需额外处理。
内容的提问来源于stack exchange,提问作者sunaina
相关产品推荐
相关产品推荐

