Liquid Template Language Nedir? Nasıl Kullanılır?
E-ticaret üzerine başlangıç niteliğindeki E-Commerce (E-Ticaret) ve E-Ticarette İlk Adım, gibi yazıların yanı sıra, PrestaShop, WooCommerce, Magento gibi uygulamaların da bahsi geçti.
Elbette her uygulama ve/veya servis kendi ortamı, ilişkileri ve çerçevesi bağlamında değerlendirilmeli. Bu amaçla da Twig, Mustache.js gibi şablon dillerinden / motorlarından ve Ürün Bilgi Yönetimi (PIM) gibi entegrasyonlardan da bahsettik. Bu yazımızın konusu Liquid Templata Language ise Shopify ile hayata geçirilmiş ancak sonrasında bağımsız olarak da kullanılabilen bir şablon dili. Ancak, detaylara geçmeden önce Shopify ile ilgili temel bir açıklama düşmekte fayda var.
Shopify Nedir
Shopify, merkezi Ottawa (Kanada), Ontario’da bulunan bir çokuluslu e-ticaret şirketi olmasının yanı sıra aynı zamanda çevrimiçi mağazalar ve perakende satış noktası sistemleri çözümleri sunan e-ticaret platformunun adıdır. Daha detaylı bilgi almak ve örnekler görmek için Examples1 ve E-commerce Stores2 sayfalarını inceleyebilirsiniz. Gelelim Liquid‘e.
Liquid Templata Language
Liquid, Shopify kurucu ortağı Tobias Lütke3 (CEO) tarafından adımları atılan ve Ruby ile geliştirilen açık kaynaklı bir şablon dilidir. Shopify sistemiyle entegre geliştirilen temaların belkemiği olarak da bu şablon dili kullanılmaktadır. Bu sayede mağaza içi etkileşimler dinamik bir şekilde ve kayda değer bir performans ile yürütülür. Temelleri Shopify ile atılmış olmasına karşın günümüzde Zendesk, Desk.com, Jekyll, 500px, GoDaddy gibi farklı ölçeklerde daha pek çok servis/uygulama tarafından da kullanılmaktadır4 5 6 7 8 9.
Liquid kaynak kodu ve güncellemeler ile ilgili olarak GitHub Shopify/liquid sayfasını4 10 11 inceleyebilirsiniz. Kişisel gözlemlerim Liquid’in Twig‘e oldukça benzediği yönünde. Dolayısıyla twig yazım kurallarına aşina iseniz ve/veya Grav temaları hazırlıyorsanız kolaylıkla Shopify temelinde temalar hazırlayabilirsiniz. Şablon geliştirme kuralları ile ilgili olarak ayrıca şu yazılara göz atmanız faydalı olacaktır.
Liquid Kullanımı
Liquid kodları nesneler, etiketler ve filtreler altında kategorilendirilebilir.
Nesneler (Objects)
Nesneler, Liquid’e sayfa içerisinde içeriğin nerelerde gösterileceğini söyler. Nesneler ve değişken adları çift süslü parantez {{...}}
içerisinde gösterilir.
{{ page.title }}
Etiketler (Tags)
Etiketler, şablonlar için mantık ve kontrol akışılarının oluşturulması amacıyla kullanılır. Süslü parantez ve yüzde işaretleri ile ifade edilirler: {%...%}
{% if user %}
Hello {{ user.name }}!
{% endif %}
Daha detaylı bilgi ve örnek kullanımlar için iteration12, control flow13 ve variable14 alt bölümlerini inceleyebilirsiniz.
Filtreler (Filters)
Filtreler bir Liquid nesnesinin çıktısını müdahale etme imkanı sunar ve pipe akışı |
ile Liguid çıktısına iliştirilir.
{{ "adam!" | capitalize | prepend: "Hello " }}
date
, divided_by
, escape
, join
, remove
, replace
ve where
gibi kullanıma hazır filtreler için Liquid Introduction15 16 sayfasını inceleyebilirsiniz.
İleri Okumalar
- Examples. Shopify ↩
- eCommerce Solutions. Shopify ↩
- Tobi Lutke. Twitter ↩
- Wiki. Shopify/liquid. GitHub ↩ ↩
- Liquid template language reference ↩
- Twilio Docs, Liquid Template Language ↩
- Jekyll, Liquid ↩
- meta::cpan, Template::Liquid ↩
- SendOwl, Liquid Templating ↩
- Liquid for Programmers. Shopify/liquid. GitHub ↩
- Liquid for Designers. Shopify/liquid. GitHub ↩
- Iteration. Liquid ↩
- Control Flow. Liquid ↩
- Variable. Liquid ↩
- Introduction. Liquid ↩
- An Overview of Liquid: Shopify’s Templating Language ↩