Shopify集合元字段(collection list类型)获取图片列表问题求助
解决Shopify集合元字段(collection list类型)获取图片列表的问题
原代码存在两个核心问题:
collection list类型的元字段,需通过.value属性获取存储的集合数组,原代码未正确取值- 循环中错误使用
collection.value,且未调用集合的图片属性来获取图片
以下是正确的Liquid代码实现:
{% assign top_collections = collection.metafields.custom.c-top-collections.value %} {% if top_collections.size > 0 %} <ul> {% for coll in top_collections %} {% if coll.image %} <li> <img src="{{ coll.image | img_url: 'medium' }}" alt="{{ coll.title | escape }}"> </li> {% endif %} {% endfor %} </ul> {% endif %}
代码说明:
- 取值修正:通过
.value获取元字段中存储的集合列表数组 - 变量命名:循环内使用
coll作为变量名,避免与外层的collection全局变量冲突 - 图片处理:
- 判断集合是否存在主图,避免输出无效图片标签
- 使用
img_url过滤器指定图片尺寸(可替换为large、300x300等自定义尺寸) - 为图片添加转义后的集合标题作为
alt属性,提升页面可访问性
内容的提问来源于stack exchange,提问作者Lee Barone
相关产品推荐
相关产品推荐

