Liquid, JavaScript, Themes
Hallo Community,
ich frage mich, ob es möglich ist, die Metafields auszublenden, wenn sie keinen Inhalt haben.
Im Shopify 2.0 kann ich sie dankenswerterweise jetzt nutzen.
Ich nutze die Metafields aktuell um meine Produkte mit weiteren INformationen zu versehen (Größe, Material, Designer, Ausführung, etc.).
Doch nicht jedes Produkt hat alle Felder befüllt.
Da ich enorm viele Produkte habe und die Pflege über mein ERP läuft und nicht pro Produkt direkt in Shopify passiert es dann, dass ich in meinem Produkt-Theme alle relevanten Metafields ausgebe,
bei einigen halt jedoch kein INhalt steht.
Dann wäre es schön, wenn man GENERELL die Felder nur anzeigt, wenn sie auch befüllt sind.
Freue mich auf Hilfe dazu.
Beste Grüße
Tim
@timdraut – hast Du folgendes schon versucht?
{% unless metafields.namespace.key.text == blank %}
Value: {{ metafields.namespace.key }}
{% endunless %}
LG, Mario
Hi Mario,
super, danke für Deine schnelle Antwort!
Da ich nur recht bedingt Entwicklungs-Know-How habe: wo würde ich den Code dann genau einsetzen?
Ich habe entdeckt, dass bei neu hochgeladenen Produkten im meinem neuen Theme 2.0 das Problem gar nicht mehr auftaucht! Macht auch irgendwie mehr Sinn, finde ich.
Ich hatte vorher im alten Theme eine Metafields-app genutzt, wahrscheinlich wird hier noch bei den damals hochgeladenen Produkten etwas kreiert. ggf. muss ich den alten inhalt der metafields einmal löschen und alle produkte neu hochpushen.... hmm.... auch doof, aber ggf. dann eine saubere lösung ohne zusätzlichen code.
beste grüße
Tim
Da ich nur recht bedingt Entwicklungs-Know-How habe: wo würde ich den Code dann genau einsetzen?
Ich kann da nur recht allgemein mit "da, wo der andere Code steht" antworten – auch wenn ich weiss, dass Dir das wahrscheinlich nicht sehr hilft … du musst die .liquid-Datei finden, in der die Metafields abgefragt werden.
Zu Deiner OS 2.0 Frage – da kann ich aus dem Stegreif auch nichts sagen, aber wenn es eine Teil-Lösung ist, dann thumbs up!
LG, Mario
@timdraut ich vermute, dass selbst die vorgeschlagene Lösung nicht direkt funktionieren wird, dass die Metafield-Werte nicht direkt im Code, sondern als dynamischer Inhalt platziert werden. Somit bleiben eigentlich nur zwei Optionen.
1. Du erstellst für die Produkte, bei denen die Metafelder gesetzt werden, ein eigenes Produkt-Template.
Durch das Erstellen eines neuen/zusätzlichen Produkt-Template kannst du den Produkten, für die die Metafelder relevant sind, das entsprechende Template zuweisen. Allen anderen, bei denen du nicht die Metafelder zeigen möchtest, verwenden dann einfach das Standard-Template. Bei dieser Option musst du zu zwar auch in den Code-Editor springen müssen - ist aber mehr eine Copy-and-paste Arbeit und keine Programmierung 😉
oder
2. Du baust die einen eigene Produkt-Block, der die Funktion enthält: "Wenn Inhalt leer, dann nicht anzeigen" was im Grunde dem Entspricht, was @r8r vorgeschlagen hat.
Du kannst ja gerne Bescheid geben, wenn dieses Thema noch für dich relevant ist.
Mit dem Lernpfad der Shopify Academy und dem Verified Skills-Badge Expanding Your Sho...
By Shopify Feb 7, 2025Den Verkauf im Großhandel steigern: In der Shopify Academy lernst du, wie das geht, zum...
By Shopify Feb 3, 2025Teil 2 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 16, 2024