Üdvözöljük a Shopify világában, ahol a webshopod nem csupán egy online kirakat, hanem egy élő, lélegző digitális tér, amelyet a te elképzeléseid formálnak! Ha valaha is elgondolkodtál azon, hogyan tehetnéd egyedibbé, funkcionálisabbá vagy éppen a márkádhoz igazodóbbá Shopify témádat, akkor jó helyen jársz. Ez a cikk egy átfogó útmutató a Liquid, a Shopify sablonnyelvének alapjaihoz, amely a kulcs a webshopod teljes testreszabásához.
Sokan elakadnak a gondolattól, hogy „kódot” kell szerkeszteniük, de ígérem, a Liquid nem olyan ijesztő, mint amilyennek elsőre tűnik. Valójában egy logikus és viszonylag könnyen elsajátítható nyelv, amelynek segítségével a statikus oldalakat dinamikus tartalommal töltheted meg, és pontosan azt jelenítheted meg látogatóidnak, amit szeretnél. Akár egy apró szöveges módosításra vágysz, akár egyedi termékelrendezést szeretnél kialakítani, a Liquid az eszköz a kezedben.
Mi az a Liquid és miért fontos számodra?
A Liquid egy nyílt forráskódú sablonnyelv, amelyet maga a Shopify fejlesztett ki és tart fenn. A legfontosabb célja, hogy adatokat (például termékneveket, árakat, képeket, gyűjteményeket, blogbejegyzéseket) jelenítsen meg a Shopify webáruház front-endjén, anélkül, hogy bonyolult programozási nyelvet kellene használni. Képzeld el, hogy a témád egy váz, és a Liquid tölti ki azt a Shopify admin felületén rögzített információkkal.
Miért olyan fontos ez neked? Nos, a sablonok adta lehetőségek sokszor korlátozottak. Lehet, hogy van egy remek téma, de szeretnél egyedi ikont elhelyezni bizonyos termékek mellett, egyedi üzenetet megjeleníteni, ha egy termék kifogyott, vagy mondjuk másképp rendezni a termékjellemzőket. Ezekre a finomhangolásokra és sok másra is a Liquid kód adja meg a lehetőséget. Segítségével a témád nem csak egy sablon lesz, hanem egy ténylegesen a te márkádra szabott, egyedi felület.
A Shopify téma anatómiája: Merre keresd a kódot?
Mielőtt belevetnénk magunkat a Liquid szintaxisába, értsük meg, hogyan épül fel egy tipikus Shopify téma. Az admin felületen keresztül hozzáférhetsz a téma kódjához, ami egy rendezett mappastruktúrában található. Ezek a mappák a következők:
- Layout (elrendezés): Ez a mappa tartalmazza a téma alapvető elrendezési fájljait, mint például a
theme.liquid
. Ez a fő sablonfájl, ami minden oldal betöltésekor meghívódik, és tartalmazza a HTML struktúrát, a CSS és JavaScript fájlok hivatkozásait, valamint a fejléc és lábléc behívását. Ez az „anyafájl”, amibe minden más részlet beépül. - Templates (sablonok): Ez a mappa az egyes oldaltípusok sablonjait tárolja. Itt találod például az
index.liquid
(főoldal),product.liquid
(termékoldal),collection.liquid
(gyűjtemény oldal),page.liquid
(normál oldal),cart.liquid
(kosár oldal) ésblog.liquid
(blog főoldal) fájlokat. Ezek határozzák meg, hogyan néz ki az adott oldaltípus. - Sections (szekciók): A modern Shopify témák nagyrészt szekciókra épülnek. Ezek önálló, újrafelhasználható modulok, amelyek lehetővé teszik, hogy a főoldalt (és sokszor más oldalakat is) drag-and-drop módszerrel szerkeszthesd a téma testreszabójában. Például egy „hero banner”, egy „terméklista” vagy egy „vélemények” szekció is ide tartozhat. A szekciók Liquid kódot, beállításokat (settings) és séma (schema) definíciókat tartalmaznak.
- Snippets (kódrészletek): A snippetek olyan kisebb, újrafelhasználható Liquid kódrészletek, amelyeket több helyen is felhasználhatsz a témádban. Például egy termékkártya (product-card.liquid), egy termékvélemény (product-review.liquid) vagy egy blogbejegyzés előnézete (blog-post-card.liquid) lehet snippet. Ezekkel a kód is átláthatóbb, és könnyebb karbantartani.
- Assets (eszközök): Ez a mappa tartalmazza az összes médiafájlt, CSS (
.css
vagy.scss.liquid
) és JavaScript (.js
vagy.js.liquid
) fájlt, képeket és betűtípusokat, amelyek a témád megjelenéséhez szükségesek. Ha saját CSS vagy JS kódot szeretnél hozzáadni, itt a helye. - Config (konfiguráció): Ez a mappa tartalmazza a téma globális beállításait, például a színsémákat, a tipográfiát és más, a téma testreszabójában módosítható opciókat. A
settings_schema.json
éssettings_data.json
fájlok kulcsfontosságúak itt. - Locales (nyelvfájlok): Ha a webshopod több nyelven is elérhető, itt találod a különböző nyelvi fordításokat JSON formátumban. Például
en.json
,hu.json
.
A Liquid alapjai: Objektumok, Tagek és Szűrők
A Liquid három fő építőelemre épül: Objektumok, Tagek és Szűrők. Ezek megértése elengedhetetlen a Liquid mesterévé válásához.
1. Objektumok (Objects)
Az objektumok a Shopify adatbázisából származó adatokra mutatnak. Két dupla kapcsos zárójelbe kerülnek: {{ objektum.tulajdonság }}
. Ezekkel tudod lekérdezni és megjeleníteni az információkat. Néhány gyakori objektum:
{{ shop.name }}
: Megjeleníti a webshop nevét.{{ product.title }}
: Egy termék címét jeleníti meg.{{ product.price | money }}
: A termék árát jeleníti meg, pénznem formátumban.{{ collection.title }}
: Egy gyűjtemény címét jeleníti meg.{{ customer.first_name }}
: A bejelentkezett vásárló keresztnevét jeleníti meg.{{ page.title }}
: Egy oldal címét jeleníti meg.{{ blog.articles }}
: Hozzáférést biztosít a blogbejegyzésekhez.
Az objektumok gyakran rendelkeznek további tulajdonságokkal. Például egy product
objektum rendelkezhet product.description
, product.images
, product.variants
és sok más tulajdonsággal. Ezekkel tudod lehívni a termékkel kapcsolatos összes releváns információt.
2. Tagek (Tags)
A tagek a Liquid logikai és vezérlési szerkezetei. Egy kapcsos zárójel és százalékjel között helyezkednek el: {% tag %}
. Ezekkel tudsz döntéseket hozni (feltételek), ismétlődő feladatokat végezni (ciklusok) vagy változókat létrehozni.
- Feltételes tagek (Conditional tags):
{% if ... %} ... {% else %} ... {% endif %}
: A leggyakoribb tag, amellyel feltételek alapján jeleníthetsz meg tartalmat.{% if product.available %} <p>Raktáron van!</p> {% else %} <p>Jelenleg nem elérhető.</p> {% endif %}
{% if ... %} ... {% elsif ... %} ... {% else %} ... {% endif %}
: Több feltétel kezelésére.
- Iterációs tagek (Iteration tags – Loops):
{% for item in collection %} ... {% endfor %}
: Ciklusokat hozhatsz létre, például egy terméklista vagy képgaléria megjelenítéséhez.{% for product in collection.products limit: 4 %} <h3>{{ product.title }}</h3> <img src="{{ product.featured_image | img_url: 'medium' }}" alt="{{ product.title }}"> {% endfor %}
- Változó-tagek (Variable tags):
{% assign my_variable = "érték" %}
: Értéket rendel egy változóhoz.{% assign greeting = "Szia, Shopify felhasználó!" %} <p>{{ greeting }}</p>
{% capture my_html %} ... {% endcapture %}
: Egy nagyobb HTML blokkot vagy szöveget rögzít egy változóba, hogy később felhasználható legyen.
- Komment tagek (Comment tags):
{% comment %} ... {% endcomment %}
: A kódrészletet megjegyzéssé teszi, így az nem jelenik meg a front-enden, de hasznos lehet magyarázatokhoz vagy ideiglenes kódokhoz.
3. Szűrők (Filters)
A szűrők lehetővé teszik az objektumok kimenetének módosítását. Egy függőleges vonallal (|
) választjuk el az objektumtól, és utána adhatjuk meg a szűrő nevét és paramétereit: {{ objektum | szűrő: "paraméter" }}
.
Néhány hasznos szűrő:
{{ "hello world" | capitalize }}
: Kimenet: „Hello world” (első betű nagybetűs).{{ "HELLO WORLD" | downcase }}
: Kimenet: „hello world” (minden kisbetűs).{{ "Hello World" | upcase }}
: Kimenet: „HELLO WORLD” (minden nagybetűs).{{ product.price | money }}
: Ár formázása pénznemként (pl. „1 999 Ft”).{{ product.featured_image | img_url: 'medium' }}
: Kép URL-jének lekérése egy adott méretben.{{ "2023-10-27" | date: "%Y. %m. %d." }}
: Dátum formázása (pl. „2023. 10. 27.”).{{ product.description | strip_html | truncate: 100 }}
: HTML tagek eltávolítása és a szöveg levágása 100 karakterre.{{ array | first }}
/{{ array | last }}
: Egy lista első/utolsó elemét adja vissza.{{ array | size }}
: Egy lista elemeinek számát adja vissza.
Hogyan szerkeszd a témád kódját: Lépésről lépésre
A Shopify téma kódjának szerkesztése az admin felületen keresztül történik. Fontos, hogy mindig óvatosan járj el, és tartsd be a legjobb gyakorlatokat!
1. Készíts biztonsági másolatot!
Ez a legfontosabb lépés. Soha ne szerkessz éles témát anélkül, hogy ne lenne egy friss másolatod róla. Az admin felületen navigálj az Online Store -> Themes menüpontra. Keresd meg az aktív témádat, kattints az Actions (Műveletek) gombra, majd válaszd a Duplicate (Másolás) lehetőséget. Ezzel létrehozol egy teljes másolatot a témáról, amit aztán szerkeszthetsz, és ha valami rosszul sülne el, könnyedén visszaállhatsz az eredetihez.
2. Navigálj a kódszerkesztőbe
Miután elkészítetted a másolatot, vagy ha biztos vagy a dolgodban (bár az első pontot mindig tartsd be!), az Online Store -> Themes menüpont alatt, az aktuális vagy a másolt téma melletti Actions (Műveletek) gombra kattintva válaszd az Edit code (Kód szerkesztése) opciót.
3. Ismerkedj a felülettel
A bal oldalon látni fogod a korábban említett mappastruktúrát (Layout, Templates, Sections, Snippets, Assets, Config, Locales). Kattints egy mappára, majd egy fájlra a tartalmának megnyitásához a középső szerkesztőablakban.
4. Keresd meg a szerkeszteni kívánt részt
Ez gyakran a legnehezebb rész. Gondold át, hol szeretnél módosítani:
- Ha az oldal szerkezetén, fejlécén vagy láblécén: Nézd meg a
layout/theme.liquid
fájlt, vagy a behívott szekciókat (pl.sections/header.liquid
,sections/footer.liquid
). - Ha egy konkrét oldaltípuson (pl. termékoldal, gyűjtemény oldal): Keresd a
templates/product.liquid
,templates/collection.liquid
fájlokat. A modern témák gyakran használnak szekciókat itt is, például atemplates/product.json
hívja be asections/main-product.liquid
-et. - Ha egy újrahasznosítható kódrészleten: Nézz körül a
snippets
mappában. - Ha CSS vagy JavaScript módosításra van szükséged: Keresd meg az
assets
mappában a megfelelő.css
,.scss.liquid
vagy.js
fájlokat.
A kód olvasása során a kommentek (<!-- komment -->
vagy {% comment %} ... {% endcomment %}
) segíthetnek eligazodni.
5. Szerkeszd a kódot és mentsd el
Végezd el a szükséges módosításokat. Használd a Liquid objektumokat, tageket és szűrőket a dinamikus tartalom megjelenítéséhez. Amikor végeztél, kattints a jobb felső sarokban található Save (Mentés) gombra. A változtatások azonnal életbe lépnek az általad szerkesztett témán.
Gyakori Liquid felhasználási esetek
Nézzünk néhány példát, hogyan használhatod a Liquid-et a webshopod testreszabására:
- Termékek egyedi üzenetének megjelenítése:
Tegyük fel, hogy szeretnél egy „ÚJDONSÁG!” feliratot megjeleníteni azoknál a termékeknél, amelyeknek van „új” tagjük.
{% if product.tags contains "új" %} <span style="color: red; font-weight: bold;">ÚJDONSÁG!</span> {% endif %}
Ezt beillesztheted a
product.liquid
fájlba a termékcím közelébe. - Termékképek dinamikus megjelenítése:
Egy ciklussal könnyedén megjelenítheted az összes termékképet:
{% for image in product.images %} <img src="{{ image | img_url: 'large' }}" alt="{{ product.title }} - Kép {{ forloop.index }}"> {% endfor %}
A
forloop.index
segít sorszámozni a képeket. - Raktáron lévő termékek kiemelése egy gyűjteményben:
Ha csak a raktáron lévő termékeket szeretnéd kiemelni egy gyűjtemény oldalon:
{% for product in collection.products %} {% if product.available %} <div class="product-card"> <h3>{{ product.title }}</h3> <p>Ár: {{ product.price | money }}</p> </div> {% endif %} {% endfor %}
Ez csak azokat a termékkártyákat jeleníti meg, amelyek elérhetőek.
- Feltételes tartalom megjelenítése a kosárban:
Például egy ingyenes szállítási üzenet, ha a kosárérték elér egy bizonyos összeget:
{% if cart.total_price >= 20000 %} <p>Gratulálunk! Ingyenes szállítást élvezel!</p> {% else %} {% assign remaining_for_free_shipping = 20000 | minus: cart.total_price %} <p>Vásárolj még {{ remaining_for_free_shipping | money }} értékben az ingyenes szállításhoz!</p> {% endif %}
Ezt a
cart.liquid
fájlban helyezheted el.
Legjobb gyakorlatok a Liquid kód szerkesztéséhez
- Mindig készíts biztonsági másolatot: Ezt nem lehet elégszer hangsúlyozni. Mielőtt bármilyen változtatást végeznél, duplikáld a témádat.
- Használj fejlesztői témát: Ne szerkeszd az éles, élő témádat. Hozz létre egy másolatot, dolgozz azon, teszteld le alaposan, majd ha minden rendben van, állítsd be az élő témának, vagy másold át a módosításokat.
- Használj kommenteket: Írj magyarázatokat a kódodhoz, különösen, ha bonyolultabb logikát építesz be. Ez segít neked (és másoknak) később megérteni, mit csinál egy adott kódrészlet.
{% comment %} Ez egy fontos rész {% endcomment %}
- Tesztelj alaposan: Mielőtt publikálnád a változtatásokat, ellenőrizd azokat minden releváns oldalon és böngészőben. Ellenőrizd a reszponzivitást is (mobil nézet).
- Kis lépésekben haladj: Ne próbálj egyszerre túl sokat változtatni. Végezz egy apró módosítást, teszteld, majd térj rá a következőre. Ez megkönnyíti a hibakeresést.
- Használd a Shopify fejlesztői dokumentációját: A Shopify Liquid dokumentáció rendkívül részletes és naprakész. Ha elakadsz, vagy valamilyen speciális funkcióra van szükséged, ez az első hely, ahol keresni érdemes.
- Ne módosítsd feleslegesen a témafájlokat: Ha egy egyszerű CSS változtatásra van szükséged, gyakran elegendő az egyéni CSS fájlba (
assets/custom.css
vagytheme.scss.liquid
végére) hozzáadni, ahelyett, hogy a téma meglévő CSS fájljait piszkálnád.
Mikor használd a Liquid-et, és mikor mást?
A Liquid testreszabás rendkívül hatékony eszköz, de nem mindenre ez a megoldás:
- Liquid-et használd, ha: Kisebb vizuális módosításokat szeretnél, dinamikus tartalmat akarsz megjeleníteni, meglévő funkciókat akarsz feltételekhez kötni, vagy az oldalstruktúrát finomhangolnád. Ez ideális az egyedi branding elemek, elrendezések és apró funkcionális kiegészítések megvalósítására.
- Shopify alkalmazásokat (Appokat) használj, ha: Bonyolultabb funkcionalitásra van szükséged, ami API integrációt vagy külső szolgáltatásokat igényel (pl. komplex raktárkezelés, dropshipping megoldások, fejlett marketing automatizáció, speciális checkout folyamatok). Az alkalmazások kódolás nélkül biztosítanak komplex megoldásokat.
- Egyedi fejlesztőt keress, ha: Teljesen egyedi funkcionalitásra, komplex adatintegrációkra, vagy olyan egyedi alkalmazásra van szükséged, ami nem illeszthető be a Liquid korlátai közé, vagy amihez komolyabb programozási tudás szükséges (pl. egyedi API-k fejlesztése, külső rendszerekkel való összekapcsolás, fejlett adatfeldolgozás).
Összegzés
A Shopify Liquid egy rendkívül erős eszköz a kezedben, amellyel túlléphetsz a sablonok korlátain, és valóban egyedi, a márkádra szabott webshopot hozhatsz létre. Ne félj belevetni magad a kód szerkesztésébe, de mindig tartsd észben a biztonsági másolatok fontosságát és a fokozatos, tesztelt munka elvét.
Ahogy egyre több időt töltesz a Liquid-del, rá fogsz jönni, hogy mennyi kreatív lehetőség rejlik benne. A dinamikus tartalommegjelenítés képessége révén a webshopod sokkal rugalmasabbá és interaktívabbá válhat. Kezdd el az alapokkal, gyakorolj, és hamarosan magabiztosan fogod alakítani Shopify témád kódját, hogy az pontosan a te igényeidet szolgálja!
Sok sikert a Liquid világának felfedezéséhez!
Leave a Reply