Ich möchte das cart.items-Array in der cart.liquid-Datei sortieren. Und dann kann ich die Zeiten in der Tabelle in meiner erwarteten Reihenfolge anzeigen.
{% 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 %}
Aber der Code funktioniert nicht, da ich ihn nicht verwenden kann sort_by:item.line_price
im for
Erklärung.
Wie kann ich ein Array mit integrierten Funktionen sortieren?
Das andere Problem ist, dass Shopify flüssig die Erstellung eines Arrays nicht unterstützt. Wenn ich meinen eigenen Algorithmus zum Sortieren des Arrays verwende. Wie kann ich jedoch die Ausgabe in einem neuen Array speichern?
Danke vielmals.
Antworten:
2 für die Antwort № 1Sie können Ihre Daten einfach in eine Javascript-Datenstruktur rendern und dann sortieren. Verwenden Sie eine Vorlage in Javascript. Handlebars.js funktioniert gut dafür. Es gibt keine eingebaute Sortierung.
6 für die Antwort № 2
Shopify hat eine Sortierfilter für "ein Array von Hashes oder Drops". Sie könnten es so verwenden:
{% assign cart_items = cart.items | sort: "line_price" %}
{% for item in cart_items %}
- {{item.title}} {{item.line_price}}<br/>
{% endfor %}