Shopify多条目产品元对象显示问题:单条目与多条目对比
Shopify多条目产品元对象显示问题:单条目与多条目对比
嘿,我刚好碰到过类似的问题,给你捋捋怎么解决~
你之前用{{ product.metafields.custom.test_avis.value.title }}能正常显示,是因为这个元对象是单条目关联,value直接对应单个元对象记录,所以可以直接访问字段。但avis_produit是多条目关联,一个产品对应多条记录,这时候product.metafields.custom.avis_produit.value其实是一个数组集合,不能直接像单条目那样访问client字段,得先遍历每一条数据才行。
具体解决方法分两种情况:
- 遍历所有多条目记录:用Liquid的
for循环逐个读取每条评价的内容,比如:
{% if product.metafields.custom.avis_produit.value %} {% for avis in product.metafields.custom.avis_produit.value %} <div class="customer-review"> <p>客户:{{ avis.client }}</p> <!-- 这里可以根据你的元对象字段,添加其他内容,比如评价星级、评价内容等 --> <p>评价内容:{{ avis.review_content }}</p> </div> {% endfor %} {% else %} <p>暂无客户评价</p> {% endif %}
- 只显示特定某一条记录:比如想直接取第一条评价,可以通过索引访问(注意Liquid数组索引从0开始):
{% if product.metafields.custom.avis_produit.value.size > 0 %} <p>第一条评价的客户:{{ product.metafields.custom.avis_produit.value[0].client }}</p> {% endif %}
为啥你之前的代码不行呢?因为你直接给整个数组加.client,Liquid不知道你要取哪一条的客户字段,自然就无法正确显示啦~
备注:内容来源于stack exchange,提问作者Nina
相关产品推荐
相关产品推荐

