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.

AA

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 – The Template Language for Shopify

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