Shopify页面List类型元字段仅返回50条,如何获取全部84条?
Shopify File List元字段循环仅显示50条的解决方法
我给页面设置了一个File (List)类型的自定义元字段,里面总共有84个项目,但用Liquid循环遍历的时候,只返回了前50条。用{{file.count}}统计能得到正确的84,但循环就是只输出50条,也没找到官方文档里关于获取全部数据的说明。
原代码示例
仅返回50条的循环代码
{% assign file = page.metafields.custom.collection_images.value %} {% for field in file %} <p> {{ field }} </p> {% endfor %}
统计数量显示84的代码
{% assign file = page.metafields.custom.collection_images.value %} <p>{{ file.count }}</p> {% for field in file %} <p> {{ field }} </p> {% endfor %}
解决办法
Shopify的Liquid在遍历元字段列表时,默认会限制最多返回50条数据,这就是count显示正确但循环只输出50条的原因。只需要在for循环里加上limit参数,指定足够大的数值(或者直接用列表的总长度),就能遍历全部项目。
修改后的代码:
{% assign file = page.metafields.custom.collection_images.value %} <p>{{ file.count }}</p> {% for field in file limit: file.size %} <p> {{ field }} </p> {% endfor %}
这样循环就会输出全部84个项目了。如果知道列表的具体数量,也可以直接写limit: 100这类足够覆盖总数的数值,但用file.size更灵活,不管后续列表数量怎么变都能适配。
内容的提问来源于stack exchange,提问作者Joshua Tuscan
相关产品推荐
相关产品推荐

