Shopify中for循环无法遍历数组问题求助
问题分析与解决
核心原因
你看到的["option1","option2","option3"]其实是字符串类型的JSON格式内容,并非Liquid原生支持的数组类型。Liquid的for循环只能遍历原生数组/集合,无法直接处理字符串形式的数组。
解决步骤
验证数据类型
先输出数据类型确认问题:{{ collection.metafields.custom.filters.value.options | class }}如果输出是
String,就说明确实是字符串而非数组。将JSON字符串转为Liquid数组
使用Shopify Liquid的json_parse过滤器把字符串解析成原生数组:{% assign filter_options = collection.metafields.custom.filters.value.options | json_parse %}遍历解析后的数组
现在就可以正常遍历了:{% for item in filter_options %} {{ item }} {% endfor %}
额外排查点
- 检查元对象字段配置:确认
options字段的类型是否设置为列表/数组,如果当初选的是文本类型,会导致内容以字符串形式存储。 - 核对层级路径:确认
collection.metafields.custom.filters.value.options的层级是否正确,部分元对象字段可能直接通过collection.metafields.custom.filters.options访问。
内容的提问来源于stack exchange,提问作者s.kuznetsov
相关产品推荐
相关产品推荐

