FROM CACHE - de_header

Im Produkt die Kollektion abfragen

nochnholger
Tourist
7 1 0

Liebe Wissende,

 

ich würde gerne für alle Produkte in einer Kollektion einen bestimmten Text ausgeben.

Oder anders audgedrückt: Wenn das Produkt innerhalb der Kollektion A steht, dann gib Text aus.

 

Mein Versuch scheiterte leider:

 

{% if collection.title == "Collection A" %}
Collection A is best!
{% endif %}

 

Was mache ich falsch?

3 ANTWORTEN 3

Gabe
Shopify Staff
17313 2742 4048

Hey @nochnholger 

 

Danke für den Code und wenn du uns sagst welches Theme das ist können wir das selber testen und Lösungen geben.

 

Ich nehme daher jetzt aber mal an, du meinst das Dawn Theme und du meinst auch, dass du das obige im Frontend erreichen möchtest. Dann ist es nicht ganz klar auf welcher Page du den Text der Kollektion des Produktes ausgeben möchtest: auf der Collection Page oder auf der PDP

 

Ich nehme mal an auf der PDP da so eine Angaben da normalerweise nicht steht außer beispielsweise mit einer Breadcrumbtrail oberhalb des Produktes. Wie wäre eine Breadcrumbtrail als Lösung denn da wird ja die Kollektion des Produktes ausgegeben?

 

Wenn du es selber auf deiner PDP 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 folgende ist Theme-abhängig, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!

 

Um so einen Text auf der PDP anzuzeigen der die Kollektion des Produktes ausgibt, dein Code prüft derzeit nicht, ob ein Produkt zu einer bestimmten Kollektion gehört. Um dies zu tun, kannst du einen Code wie den folgenden ausprobieren im Custom Liquid Section oder anderswo:

 

{% assign in_collection = false %}
{% for collection in product.collections %}
  {% if collection.handle == "collection-a" %}
    {% assign in_collection = true %}
  {% endif %}
{% endfor %}

{% if in_collection %}
  <p>Collection A is best!</p>
{% endif %}

 

Dieser Code durchläuft alle Kollektionen, zu denen das Produkt gehört, und prüft, ob eine davon die handle "collection-a" hat. Wenn ja, wird eine Variable in_collection auf true gesetzt. Danach wird geprüft, ob in_collection wahr ist, und wenn ja, wird der gewünschte Text ausgegeben.

 

Das mit Metafelder lösen?

Wenn du spezielle Metafields stattdessen verwenden möchtest, diese zuerst im Shopify-Admin für jedes Produkt erstellen und dann im E-Mail-Template darauf verweisen. 

 

Um einen bestimmten Text auf der PDP für Produkte innerhalb einer bestimmten Kollektion anzuzeigen, einfach ein Metafeld für Kollektionen erstellen, das anzeigt, ob ein Produkt in der Kollektion "A" ist oder nicht. Hier ist ein Überblick:

  1. Erstellen ein Metafeld für Kollektionen:

    • Gehe im Shopify Admin zu "Einstellungen" > "Metafelder".
    • Wähle "Kollektionen" aus.
    • Klicke auf "Metafeld hinzufügen" und erstelle ein Metafeld, z.B. mit dem Namensraum und Schlüssel kollektion.text und dem Typ "Text".
  2. Füge den Metafeldwert zu denn Kollektionen hinzu:

    • Gehe zu "Produkte" > "Kollektionen".
    • Wähle die spezifische Kollektion "A" aus und füge in das soeben erstellte Metafeld den Text ein, den man auf der PDP anzeigen möchte.
  3. Anpassen der Liquid-Vorlage für die PDP:

    • Finde die Liquid-Datei, die die PDP steuert, z.B. product-template.liquid oder product.liquid.
    • Füge an der Stelle, an der der Text angezeigt werden soll, folgenden Code ein:

 

{% assign show_collection_text = false %}
{% for collection in product.collections %}
  {% if collection.metafields.kollektion.text %}
    {% assign show_collection_text = true %}
    {% break %}
  {% endif %}
{% endfor %}

{% if show_collection_text %}
  <p>{{ collection.metafields.kollektion.text }}</p>
{% endif %}

 

Dieser Code durchläuft alle Kollektionen, zu denen das Produkt gehört, und überprüft, ob das Metafeld kollektion.text einen Wert hat. Wenn ja, wird der Inhalt des Metafelds auf der PDP angezeigt.

 

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

nochnholger
Tourist
7 1 0

Hi Gabe,

 

danke für die ausführliche Antwort! 🙂

Das Thema "Theme-Update" ist natürlich wichtig. Deshalb würde ich, bevor ich weiterbastle, gerne erstmal folgendes klären:

 

1. Ich habe bisher nie in den Original-Code-Dateien was verändert, sondern z.B. CSS immer nur unter "Bentuzerdefiertes CSS" ergänzt. Sprich: ich habe den relevanten CSS-Code aus den original Code-Dateien kopiert und unter "Bentuzerdefiertes CSS" überschrieben.

2. Das Gleiche beim Liquid-Code: Ich hab nie die Original-Dateien verändert, sondern habe bisher nur auf der Produktseite unter "Benutzerdefiniertes Liquid" zusätzlichen Code ausgeführt.

 

Da ich auf diese Weise die Original-Code-Dateien nicht verändere, sollte das "Theme-Update" kein Problem sein - oder?

Gabe
Shopify Staff
17313 2742 4048

Hey @nochnholger 

 

Der CSS Editor ist in Ordnung wie du hier lesen kannst

 

Best Practice: Du kannst das Ganze auch gerne in einer frischen Kopie deines Dawn Themes testen oder in einer Kopie des Live Themes ohne jegliche Auswirkungen auf dein Live Theme.

 

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