Shopify中使用Liquid按日期排序元对象遇问题求助
解决Shopify Liquid元对象按日期排序异常的问题
核心错误原因
你写的排序字段'show.date'是错误的。shop.metaobjects.shows.values返回的是单个元对象的数组,每个元素本身就包含date属性,不需要额外加show.前缀。当Liquid找不到show.date这个属性时,会把所有元素的该值视为nil,排序逻辑混乱,才出现不符合预期的结果。
修正后的代码
{% assign sorted_shows = shop.metaobjects.shows.values | sort: 'date' | reverse %} {% for show in sorted_shows %} {{ show.date }} <br> {% endfor %}
额外验证点
- 确认元对象的日期字段handle确实是
date,如果你的字段实际handle是其他名称(比如performance_date),要替换成对应的字段名 - 检查日期存储格式:Shopify元对象的日期字段默认是ISO 8601格式(YYYY-MM-DD),这种格式的字符串可以直接按字典序排序,结果和日期先后顺序一致,无需额外转换
内容的提问来源于stack exchange,提问作者Jeff Winkler
相关产品推荐
相关产品推荐

