Hey @halfbird
Danke für die Frage und die App von Dieter und Stefan oben ist sehr zu empfehlen!
Es geht darum die Line Items innerhalb der Bestellung selber alphabetisch zu sortieren oder beim Picken und Packen? Wäre der Packzettel oder Lieferschein auch eine Option die Positionen alphabetische zu sortieren? Ich kann voll verstehen, dass das hilfreich wäre wenn die Bestellung viele Positionen hat.
Aber derzeit ist es so, dass die Bestellseite die Positionen in der Reihenfolge des Warenkorbs des Kunden anzeigt, also in der Reihenfolge, in der der Kunde die Produkte/Varianten in den Warenkorb gelegt hat. Und Kontrolle über diese Reihenfolge ist nicht ganz einfach es sei denn man würde die Produkte irgendwie in Sets zusammenbündeln. Aber das wäre wahrscheinlich auch nicht die Lösung.
Dann kann man die Vorlagen mit der Order Printer oder Order Printer Pro App bearbeiten (Packzettel, Rechnung usw.) so dass die Positionen in der alphabetischen Reihenfolge aufgereiht werden:
Zum Beispiel kann man die Lieferscheinvorlage so bearbeiten, dass sie die Liste der zu versendenden Artikel enthält und man fügt den folgenden Code am unteren Rand der Packzettelvorlage in der Order Printer Vorlage oder in einer anderen Vorlage wie die oben-abgebildeten Vorlage ein:
{% if show_line_item_taxes %}
{% endif %}
{% for line_item in line_items %}
{% if line_item.tax_lines %}
{% endif %}
{% endfor %}
| Quantity | Item | Taxes | Price |
| - | - | - | - |
| {{ line_item.quantity }} x | **{{ line_item.title }}** | <br> {% for tax_line in line_item.tax_lines %}<br> {{ tax_line.price | money }} {{ tax_line.title }}<br><br> {% endfor %}<br> | {{ line_item.price | money }} |
Um die Positionen (Line Items) in der Reihenfolge ihres Titels (also alphabetisch) anzuzeigen, kann man die Liquid-Syntax verwenden, um die line_items Sammlung vor dem Durchlaufen der Schleife zu sortieren. Hier ist ein Beispiel-Code-Abschnitt, der line_items basierend auf dem Titel (title) der Positionen sortiert:
{% assign sorted_line_items = line_items | sort: 'title' %}
{% if show_line_item_taxes %}
{% endif %}
{% for line_item in sorted_line_items %}
{% if line_item.tax_lines %}
{% endif %}
{% endfor %}
| Quantity | Item | Taxes | Price |
| - | - | - | - |
| {{ line_item.quantity }} x | **{{ line_item.title }}** | <br> {% for tax_line in line_item.tax_lines %}<br> {{ tax_line.price | money }} {{ tax_line.title }}<br><br> {% endfor %}<br> | {{ line_item.price | money }} |
In diesem Beispiel wurde die folgende Zeile hinzugefügt, um die line_items auf Basis des title zu sortieren, und die for-Schleife wurde angepasst, um sorted_line_items anstelle von line_items zu verwenden:
{% assign sorted_line_items = line_items | sort: 'title' %}
Dieser Code sollte die Elemente der Bestellung (line items) alphabetisch nach dem Titel sortieren und somit die Positionen der Bestellung in der Reihenfolge von A bis Z anzeigen. Wenn man die Sortierreihenfolge umkehren möchte (Z bis A), dann das “reverse” Filter verwenden:
{% assign sorted_line_items = line_items | sort: 'title' | reverse %}
Hast du weitere Fragen zum Shop? Gebe einfach ein Suchbegriff oben in der Suchleiste der Community Landingpage ein, denn das Thema haben wir sehr wahrscheinlich schon besprochen. Halte bitte Ausschau in deiner E-Mail auf Notifications zu Antworten auf deine Fragen in der Community.