In Shopify lassen sich zusätzliche sogenannte Meta-Felder bei Produkten (und anderen Content-Typen) erstellen, um strukturiert zusätzliche Daten einzugeben.
Ein Beispiel: Bei Event-Tickets die man verkaufen möchte, wären Datum und der Veranstaltungsort interessant, bei Galerie-Verkäufen möchte man eventuellen Materialtypen definieren, bei Lebensmittel-Verkäufen hat man eventuell behördliche Angaben zu beschreiben usw. usf.
Unter Einstellungen -> Benutzerdefinierte Daten -> Metafelddefinitionen lassen sich diese Meta-Felder in den jeweiligen Bereichen definieren, wir konzentrieren uns auf „Produkte“ und definieren dort ein Feld „time“ und lesen dies per liquid-code aus.
Hierbei gibt es verschiedene Optionen und einige Details zu beachten:
- Im Front-End-Modus unter „anpassen“ des Templates lassen sich „dynamischen Quellen“ im WYSIWYG-Modus direkt auslesen und anzeigen, allerdings sind dabei bisher – Stand April 2024 – nicht alle Meta-Feld-Typen auswählbar
- Möchte man sämtliche Meta-Felder auslesen können, muss man Liquid-Code schreiben und implementieren, dabei ist zu beachten das der Aufruf je angezeigtem Modul-Type unterschiedlich ist.
Soll z.B. das Metafeld product.metafields.custom.time aufgerufen werden, so startet dieser Aufruf bei den „card collections“ mit card_product nicht nur mit product, muss komplett also wie folgt aussehen:
card_product.metafields.custom.time - Möchte man das Feld nur optional anzeigen, sofern es auch mit Werten befüllt ist, könnte der mögliche Code dabei wie folgt aussehen:
{%- if product.metafields.custom.time != blank -%}
<span class="time">{{ product.metafields.custom.time}}</span>
{%- endif -%}
Weitere Details hierzu findet man auch in der Shopify-Dokumentation unter help.shopify.com/de/manual/custom-data/metafields/
Die Low-Level Dokumentation um Felder per API / Liquid-Code anzusteuern findet man hier: shopify.dev/docs/api/liquid/objects/metafield