我想在cart.liquid文件中对cart.items数组进行排序。然后我可以按预期的顺序显示表格中的时间。
{% for item in cart.items sort_by:item.line_price %}
<div class="row">
<div class="span12">
<h1>Your cart</h1>
<form action="/cart" method="post" id="cartform">
<table>
</table>
</form>
</div>
</div>
{% endfor %}
但由于我无法在sort_by:item.line_price
语句中使用for
,因此代码无效。
如何使用内置功能对数组进行排序?
另一个问题是Shopify液体不支持创建阵列。如果我使用自己的算法对数组进行排序。但是如何将输出保存到新阵列?
非常感谢。
答案 0 :(得分:6)
Shopify有sort filter表示“一系列哈希或丢弃”。你可以这样使用它:
{% assign cart_items = cart.items | sort: "line_price" %}
{% for item in cart_items %}
- {{item.title}} {{item.line_price}}<br/>
{% endfor %}
答案 1 :(得分:2)
您可以将数据呈现为Javascript数据结构,然后对其进行排序。在Javascript中使用模板。 Handlebars.js效果很好。没有内置排序。