FROM CACHE - de_header

Kollektionen Sortieren nach Metafeld Wert

DGinv
Neues Mitglied
12 0 0

Hallo zusammen,
wir möchten die Standard-Sortierung in den Kollektionen ändern. Wir haben bei allen Produkten ein Metafeld mit einem Ranking Wert (ganze Zahl). Die Standard-Sortierung sollte aufsteigend nach Ranking erfolgen. Kann mir jemand sagen, wie man dies ohne einer App einrichten kann? Vielen Dank

5 ANTWORTEN 5

Gabe
Shopify Staff
17535 2773 4093

Hey @DGinv 

 

Ich nehme mal an du arbeitest mit dem standard Dawn Theme auf der Collection Page, ist das richtig? Wenn ja dann ist folgendes möglich um die Standard-Sortierung in den Kollektionen zu ändern und die Standard-Sortierung aufsteigend nach Ranking zu erfolgen.

 

Um die Produkte in ihren Kollektionen basierend auf dem Wert eines Metafelds zu sortieren, ohne eine App zu verwenden, gibt es zwei Hauptansätze, die man berücksichtigen sollte:

  1. Verwendung von Shopify Liquid: Dieser Ansatz würde das Sortieren von Produkten auf der Seite selbst mithilfe von Shopify Liquid beinhalten. Man kann die Produkte dynamisch sortieren, basierend auf den Werten, die in ihren Metafeldern gespeichert sind. Dieser Ansatz ist jedoch mehr für die Anzeige von Produkten in einer bestimmten Reihenfolge auf der Kollektionsseite geeignet und nicht für die dauerhafte Änderung der Sortierreihenfolge der Produkte innerhalb der Kollektion im Shopify-Admin.

  2. Manuelle Einstellung der Sortierreihenfolge in Shopify-Admin: Shopify erlaubt es, eine benutzerdefinierte Sortierreihenfolge für Produkte innerhalb einer Kollektion festzulegen. Allerdings unterstützt das Shopify-Admin-Interface derzeit keine automatische Sortierung basierend auf Metafeld-Werten. Das bedeutet, dass man die Sortierreihenfolge manuell anpassen muss, wenn man die Produkte basierend auf Metafeld-Werten ordnen möchten.

Da die direkte Sortierung basierend auf Metafeld-Werten ohne externe Apps oder Anpassungen im Admin-Bereich von Shopify nicht unterstützt wird, schauen wir uns den ersten Ansatz genauer an. Bitte beachte, dass dieser Ansatz nicht die tatsächliche Sortierreihenfolge der Produkte im Backend ändert, sondern wie sie auf der Kollektionsseite dargestellt werden.

 

Hier ist ein Beispiel-Code-Snippet, das man in der Kollektionsseite (collection.liquid oder eine ähnliche Liquid-Datei im Theme) verwenden kann, um Produkte basierend auf einem Metafeld-Wert zu sortieren:

 

{% assign products = collection.products | sort: 'metafields.namespace.key' %}
{% for product in products %}
  <!-- Produkt-Details hier anzeigen -->
{% endfor %}

 

Ersetze namespace und key durch den tatsächlichen Namensraum und den Schlüssel des Metafelds. Dieses Snippet ordnet die Produkte auf der aktuellen Kollektionsseite basierend auf den Werten des Metafelds. Somit wäre der nächste Schritt, diesen Liquid-Code an der Stelle einzufügen, an der die Produktliste generiert wird. Allerdings, ohne den spezifischen Abschnitt des Codes zu sehen, ist es schwierig, genaue Anweisungen zu geben.

 

Wenn du es selber programmieren möchtest dann bitte immer in einer Themekopie/Testumgebung zuerst testen und zusammen mit einem Experten/Programmierer. Du kannst ein Backup deines Themes erstellen, bevor man den Code bearbeitet, oder den Code wiederherstellen, falls dies nötig sein sollte. Du könntest auch einen unserer Experten engagieren indem du denen eine E-Mail rüberschießt. Unsere Experten antworten meist sehr schnell.

Änderungen zu deinem Theme Code können auch 1) die Page Loading Speeds negativ beeinflussen und 2) dein Theme aus den Theme Updates ausschließen. Das obige ist Theme-abhängig, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!

 

Hoffe das hilft dir weiter - lass wissen falls nicht! 😉

---
Warum nicht etwas Gamification in das Shop einbauen, um deinen Kunden etwas Fun im Shop anzubieten? Gerne kann ich bei Interesse Tipps dazu geben!

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.

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

DGinv
Neues Mitglied
12 0 0

Wir verwenden das Impact Theme von Maestrooo.

DGinv
Neues Mitglied
12 0 0

Vielen Dank, aber das sortiert nur eine einzelne Seite nicht alle Seiten der Collection... geht es auch mit allen Seiten einer Kollektion?

Gabe
Shopify Staff
17535 2773 4093

@DGinv 

 

Wie meinst du genau? Die serverseitige Sortierung von Produkten in Shopify-Kollektionen basierend auf einem Metafeldwert für alle Seiten einer Kollektion ist leider schwierig, insbesondere wenn die Kollektion über mehrere Seiten hinweg paginiert wird. Die Standard-Liquid-Logik und die Shopify-API bieten direkt keine Möglichkeit, eine vollständig kundenspezifische Sortierung anzupassen, die über die erste Seite hinausgeht, ohne dass die Sortierung auf jede Seite der Paginierung angewendet wird.

 

Wenn ihr Shopify Plus-Kunde sind, dann die Shopify Scripts verwenden, um serverseitig eine fortgeschrittenere Logik für die Sortierung und Darstellung von Produkten zu implementieren. Shopify Scripts erlauben es jedoch nicht direkt, auf Metafelder zuzugreifen, sodass dieser Ansatz auch Grenzen haben wird.

 

Ich muss aber das nochmal von oben/unten betonen: Mehr werde ich in dieser Sache nicht mehr beraten können, wie du hoffentlich verstehen kannst denn es verlangt jemand der einen Deep-Dive in Euer Impact Theme und Shop Backend macht, und verweise somit auf die oben empfohlenen Experten.

 

VG,

 

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

Gabe
Shopify Staff
17535 2773 4093

@DGinv 

 

Klasse Theme - Impact! Eins meiner overall Favs! 💪

 

Somit müsstest du das Code Snippet das oben vorgeschlagen würde dem Impact Theme anpassen. Es ist, wie gesagt, notwendig, einige Liquid-Anpassungen und eventuell JavaScript zu verwenden, um diese Funktionalität umzusetzen. Shopify Liquid selbst bietet keine direkte Möglichkeit, Produkte dynamisch auf der Client-Seite zu sortieren, nachdem die Seite geladen wurde, aber man kann die Anzeigereihenfolge der Produkte auf der Serverseite vor dem Laden der Seite anpassen.

 

Zuerst sicherstellen, dass jedes Produkt ein Metafeld hat, das das "Ranking" hält. Dies könnte ein Metafeld namens product.metafields.custom.rank sein, wobei custom der Namensraum des Metafelds und rank der Schlüssel ist:

 

{% assign sorted_products = collection.products | sort: 'metafields.custom.rank' %}
{% for product in sorted_products %}
  <!-- Produktanzeige-Code hier -->
{% endfor %}

 

MEhr werde ich in dieser Sache nicht mehr beraten können, wie du hoffentlich verstehen kannst denn es verlangt jemand der einen Deep-Dive in Euer Impact Theme und Shop Backend macht, und verweise somit auf die oben empfohlenen Experten.

 

Hoffe das hilft dir weiter - lass wissen falls nicht! 😉

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog