Ü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 (
.cssvagy.scss.liquid) és JavaScript (.jsvagy.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.jsonfá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.liquidfá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.liquidfájlokat. A modern témák gyakran használnak szekciókat itt is, például atemplates/product.jsonhívja be asections/main-product.liquid-et. - Ha egy újrahasznosítható kódrészleten: Nézz körül a
snippetsmappában. - Ha CSS vagy JavaScript módosításra van szükséged: Keresd meg az
assetsmappában a megfelelő.css,.scss.liquidvagy.jsfá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.liquidfá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.indexsegí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.liquidfá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.cssvagytheme.scss.liquidvé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