Liquid-Grundlagen für Entwickler aus anderen Bereichen
Wenn Sie schon Templates geschrieben haben, wird Liquid einen Nachmittag dauern. Was länger dauert, ist zu akzeptieren, was es Sie nicht tun lässt, denn diese Grenzen sind bewusst und sie prägen, wie Shopify-Themes gebaut werden.
Das ist die Orientierung, die wir Entwicklern geben, die von einem anderen Stack zu einem Shopify-Projekt kommen.
Das mentale Modell#
Liquid ist eine Rendering-Sprache, keine Anwendungssprache. Sie hat Objekte, die ihr von Shopify übergeben werden, Filter zum Formatieren und Tags für Kontrollfluss. Es gibt keinen Datenbankzugriff, keine beliebige Berechnung von Bedeutung und keine Möglichkeit, außerhalb der Objekte zu greifen, die Ihnen gegeben wurden. Wenn Sie etwas brauchen, das das Objekt nicht enthält, ist die Antwort ein Metafield, eine App oder eine andere Seite.
Jede Stunde, die damit verbracht wird, Liquid wie eine Allzwecksprache verhalten zu lassen, ist eine Stunde, die für das Datenmodell hätte verwendet werden sollen.
Was Sie ständig verwenden werden#
| Sache | Wofür es ist |
|---|---|
| Objekte | product, collection, cart, customer, shop – die Daten der Seite |
| Filter | Formatierung: money, date, image_url, escape |
| Tags | Kontrollfluss: if, for, assign, render |
| Sections und Blocks | Händler-editierbare Struktur im Theme-Editor |
| Metafields | Ihre eigenen strukturierten Daten, an Shopify-Objekte angehängt |
Häufige Fallen#
- Schleifen über große Collections rendern langsam; paginieren Sie, anstatt in Liquid zu filtern.
- Alles, was Sie pro Request berechnen, wird bei jedem Request berechnet – cache-freundliche Ausgabe zählt.
- render erhält einen isolierten Scope; include ist veraltet und verhält sich anders.
- Geld wird in Cents gespeichert; verwenden Sie die Money-Filter, anstatt von Hand zu rechnen.
- Kundenspezifischer Content verhindert naives Full-Page-Caching, was eine Performance-Entscheidung und eine Korrektheitsentscheidung ist.
Wo Sie Logik stattdessen platzieren#
Datenformung gehört in Metafields und Metaobjects, einmal definiert und günstig gelesen. Verhalten gehört in eine App oder in den Browser. Liquid sollte hauptsächlich lesen und formatieren. Themes, die dieser Aufteilung folgen, bleiben schnell und verständlich.
Häufige Fragen
Ist Liquid schwer zu lernen?
Nein – ein kompetenter Entwickler ist an einem Tag produktiv. Zu lernen, was Shopify Sie nicht tun lässt, dauert länger.
Kann ich Daten in Liquid abfragen?
Nur was Ihnen der Seitenobjektgraph gibt, plus Metafields. Es gibt keine beliebige Abfrage.
Sollte Logik in Liquid oder JavaScript leben?
Präsentationslogik in Liquid, Interaktion in JavaScript, Geschäftsregeln in einer App oder in Ihrem Datenmodell.
shopify liquidliquid templatingshopify theme entwicklungliquid grundlagenshopify metafields