Shopify Liquid: Ghid Complet pentru Personalizarea Template-urilor

Zyra
Lazart Studios
De ce ar trebui să înveți Shopify Liquid în 2026
73% dintre proprietarii de magazine Shopify nu modifică niciodată template-ul dincolo de setările de bază. Asta înseamnă că se pierd într-o mare de site-uri care arată identic — și ratează conversii din cauza lipsei de personalizare.
Dacă vrei ca magazinul tău online să iasă din mulțime, Shopify Liquid este skill-ul pe care trebuie să-l stăpânești. Nu e programare clasică — e un limbaj de template conceput special pentru Shopify care îți oferă control complet asupra designului și funcționalității.
În acest ghid, vei învăța exact cum funcționează Shopify Liquid, cum să folosești tag-urile și filtrele esențiale, și cum să personalizezi orice template Shopify fără să depinzi de un developer la fiecare modificare.
Ce este Shopify Liquid și cum funcționează
Shopify Liquid a fost creat de Tobias Lütke în 2006 pentru magazinul său de snowboard. De atunci, a devenit standardul pentru toate template-urile Shopify — un limbaj open-source care separă logica de prezentare.
Practic, Liquid ia date din backend-ul Shopify (produse, colecții, comenzi) și le transformă în HTML care se afișează în browserul clientului. Totul se întâmplă pe server, ceea ce înseamnă că codul tău este securizat — utilizatorii nu pot accesa logica din spate.
Diferența dintre Liquid și alte limbaje de template
Spre deosebire de PHP sau JavaScript, Shopify Liquid nu permite execuția de cod periculos. Nu poți accesa sistemul de fișiere, nu poți face request-uri externe și nu poți rula comenzi pe server. Această limitare este intenționată — protejează platforma și utilizatorii.
În schimb, te concentrezi pe logică de afișare: condiții, bucle, formatare de date. Este suficient pentru 95% din personalizările de care ai nevoie într-un magazin online.
Cum este structurat un fișier Liquid
Fiecare template Shopify conține fișiere cu extensia .liquid. Acestea combină HTML obișnuit cu expresii Liquid. Când un client accesează o pagină, Shopify procesează fișierul Liquid, înlocuiește expresiile cu date reale și trimite HTML-ul final către browser.
Un fișier .liquid tipic conține: structura HTML, tag-uri de control (condiții și bucle), expresii de afișare a variabilelor și filtre pentru formatarea datelor.
Elementele de bază: Tag-uri, Obiecte și Filtre
Shopify Liquid folosește trei tipuri de markup distincte. Înțelegerea lor este fundamentală pentru orice personalizare.
Tag-uri de control ({% %})
Tag-urile definesc logica — condiții, bucle și variabile. Ele nu afișează nimic direct, ci controlează ce se randează și când.
Exemple de tag-uri esențiale:
- if / elsif / else — Condiții pentru afișare selectivă
- for — Bucle pentru iterarea prin colecții sau liste
- assign — Crearea de variabile noi
- capture — Capturarea output-ului HTML într-o variabilă
Expresii de afișare ({{ }})
Acestea afișează valori direct în HTML. Când vezi duble acolade, înseamnă că acolo va apărea un produs, un titlu, un preț sau orice altă dată din Shopify.
De exemplu, {{ product.title }} afișează numele produsului curent, iar {{ product.price | money }} afișează prețul formatat în moneda magazinului.
Filtre (|) pentru transformarea datelor
Filtrele modifică output-ul variabilelor. Le aplici cu simbolul pipe (|) și pot fi înlănțuite pentru transformări complexe.
Filtre des utilizate în Shopify Liquid:
- money — Formatează prețul cu simbolul monedei
- upcase / downcase — Transformă textul în majuscule/minuscule
- truncate — Limitează lungimea unui text
- img_url — Generează URL-uri optimizate pentru imagini
- default — Afișează o valoare implicită dacă variabila este goală
Obiectele principale în Shopify Liquid
Obiectele sunt containere de date care provin din Shopify. Le accesezi cu punct notație și conțin informații despre produse, colecții, pagini, utilizatori și setările magazinului.
Obiectul product
Acesta conține totul despre un produs: titlu, descriere, preț, imagini, variante, tag-uri, vendor și multe altele. Îl găsești în fișierele din template-uri precum product.liquid sau sections/product-template.liquid.
Proprietăți esențiale ale obiectului product:
product.title— Numele produsuluiproduct.description— Descrierea completăproduct.price— Prețul curentproduct.compare_at_price— Prețul de referință (pentru reduceri)product.variants— Lista de variante (mărimi, culori)product.images— Imaginile produsuluiproduct.available— Boolean care indică disponibilitatea
Obiectul collection
Reprezintă o colecție de produse. Conține titlu, descriere, imagine și lista de produse asociate. Accesezi produsele dintr-o colecție cu collection.products.
Obiectul shop
Conține informații generale despre magazin: nume, monedă, limbă, adresă de email. Este util pentru personalizări generale care se aplică pe tot site-ul.
Obiectul cart
Gestionează coșul de cumpărături. Poți accesa item-ile din coș, subtotalul, numărul de produse și poți crea funcționalități personalizate pentru experiența de checkout.
Condiții și bucle: Control Flow în Liquid
Logica condițională și buclele sunt fundamentale pentru orice template Shopify dinamic. Fără ele, nu poți afișa conținut diferit în funcție de context.
Structura if / elsif / else
Aceasta este cea mai folosită construcție din Shopify Liquid. Îți permite să afișezi conținut diferit în funcție de condiții specifice.
Exemplu practic — afișare badge de reducere:
{% if product.compare_at_price > product.price %}
Reducere!
{% endif %}
Acest cod verifică dacă prețul de referință este mai mare decât prețul curent. Dacă da, afișează badge-ul de reducere. Altfel, nu afișează nimic.
Bucle for pentru listarea elementelor
Când ai nevoie să parcurgi o listă de produse, colecții sau imagini, folosești tag-ul for. Acesta iterează prin fiecare element și randează codul specificat.
Exemplu — listare produse dintr-o colecție:
{{ product.price | money }}{% for product in collection.products limit: 8 %}
{{ product.title }}
Variabile speciale disponibile în bucle for:
forloop.index— Numărul iterației curente (începe de la 1)forloop.first— True dacă este prima iterațieforloop.last— True dacă este ultima iterațieforloop.length— Numărul total de elemente
Ghid practic: Personalizarea unui template Shopify
Să aplicăm ceea ce am învățat într-un scenariu real. Imaginează-ți că ai un magazin de haine și vrei să personalizezi pagina de produs pentru a afișa informații suplimentare.
Exemplu 1: Afișarea stocului cu mesaj dinamic
În loc de un simplu „În stoc" sau „Stoc epuizat", poți crea mesaje contextuale care cresc urgența de cumpărare.
Ultimile {{ product.inventory_quantity }} bucăți! În stoc — livrare în 24h Stoc epuizat — anunță-mă când revine{% if product.available %}
{% if product.inventory_quantity <= 5 %}
Exemplu 2: Secțiune de produse complementare
Dacă vinzi telefoane, poți afișa automat accesorii compatibile dintr-o colecție dedicată.
{{ accessory.title }}{% assign accessory_collection = collections['accesorii'] %}
{% if accessory_collection.products.size > 0 %}
Accesorii recomandate
Exemplu 3: Tabel de mărimi dinamic
Pentru un magazin de îmbrăcăminte, poți afișa un tabel de mărimi care se actualizează în funcție de categoria produsului.
{% assign product_type = product.type | downcase %}
{% case product_type %}
{% when 'tricouri' %}
{% include 'size-chart-tshirts' %}
{% when 'pantaloni' %}
{% include 'size-chart-pants' %}
{% when 'incaltaminte' %}
{% include 'size-chart-shoes' %}
{% else %}
{% include 'size-chart-generic' %}
{% endcase %}
Greșeli frecvente în Shopify Liquid
Chiar și developerii experimentați fac erori. Iată cele mai comune capcane și cum să le eviți.
1. Nefiltrarea datelor
Una dintre cele mai frecvente greșeli este să afișezi prețurile fără filtrul money. Fără el, prețul va apărea ca un număr simplu (ex: 9999 în loc de 99,99 RON).
2. Ignorarea variabilelor globale
Shopify oferă variabile globale precum shop.locale, shop.currency și request.locale. Neglijarea lor duce la magazine care nu se adaptează la limba și moneda clientului.
3. Bucle infinite sau ineficiente
Când lucrezi cu bucle for, folosește mereu limit sau paginate. O colecție cu 500 de produse afișată fără limit va încetini dramatic pagina.
4. Hardcoding în loc de configurări
În loc să scrii text direct în Liquid, folosește settings din Theme Editor. Așa, clientul poate modifica textul fără să atingă codul.
La Lazart Studios, am văzut magazine cu sute de linii hardcodate care necesitau zile întregi pentru modificări simple. Setările din Theme Editor elimină această problemă complet.
Resurse avansate pentru Shopify Liquid
Odată ce ai stăpânit bazele, poți explora funcționalități mai complexe care diferențiază magazinele profesionale de cele amatoare.
Snippet-uri și secțiuni reutilizabile
Shopify permite includerea fragmentelor de cod reutilizabile cu tag-ul include sau render. Aceasta este esențială pentru menținerea unui cod curat și DRY (Don't Repeat Yourself).
Metafields pentru date personalizate
Metafields-urile îți permit să adaugi câmpuri personalizate la produse, colecții sau la nivel de magazin. Poți stoca informații precum ghiduri de mărime, materiale specifice sau instrucțiuni de îngrijire.
Schema pentru setări dinamice
Tag-ul {% schema %} definește opțiuni configurabile din Theme Editor. Poți crea setări pentru culori, fonturi, texturi și orice altceva ce clientul ar putea dori să modifice fără a edita codul.
Echipa Lazart Studios folosește această funcționalitate pentru a crea teme Shopify complet personalizabile, unde clientul are control total asupra designului fără cunoștințe tehnice.
Concluzie: De la template generic la magazin unic
Shopify Liquid nu este doar un limbaj de template — este instrumentul care transformă un magazin standard într-o experiență de brand completă. Cu cunoștințele din acest ghid, poți personaliza orice aspect al magazinului tău.
Cheia este să începi cu modificări mici: un badge de reducere, un mesaj de stoc, o secțiune de recomandări. Treptat, vei construi complexitate și vei descoperi cât de flexibil este Shopify Liquid de fapt.
Dacă ai nevoie de ajutor pentru implementarea unor personalizări avansate sau vrei un template Shopify complet custom, echipa Lazart Studios te poate ajuta să transformi viziunea ta în realitate. Am lucrat cu zeci de magazine și știm exact ce funcționează pentru conversii.