/ / Shopify Sortiere das cart.items-Array mit dem Liquid-Skript - Shopify, Liquid, Liquid-Layout

Shopify Sortiere cart.items Array mit Liquid Script - shopify, liquid, liquid-layout

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 № 1

Sie 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 %}