Başka yerden gelen geliştiriciler için Liquid temelleri
Daha önce şablon yazdıysanız Liquid bir öğleden sonranızı alır. Uzun süren kısım, yapmanıza izin vermediklerini kabullenmektir; çünkü bu sınırlar bilinçlidir ve Shopify temalarının nasıl kurulduğunu şekillendirir.
Başka bir yığından Shopify projesine katılan geliştiricilere verdiğimiz giriş bu.
Zihinsel model#
Liquid bir uygulama dili değil, bir işleme dilidir. Shopify'ın verdiği nesneleri, biçimlendirme süzgeçlerini ve akış denetimi etiketlerini içerir. Veritabanına erişim, kayda değer keyfî hesaplama ve verilen nesnelerin dışına uzanma yoktur. Nesnenin içermediği bir şeye ihtiyacınız varsa cevap bir meta alan, bir uygulama ya da başka bir sayfadır.
Liquid'i genel amaçlı bir dil gibi davranmaya zorlamak için harcanan her saat, veri modeline harcanması gereken bir saattir.
Sürekli kullanacaklarınız#
| Şey | Ne işe yarar |
|---|---|
| Nesneler | product, collection, cart, customer, shop — sayfanın verisi |
| Süzgeçler | Biçimlendirme: money, date, image_url, escape |
| Etiketler | Akış denetimi: if, for, assign, render |
| Bölüm ve bloklar | Tema düzenleyicisinde satıcının düzenleyebildiği yapı |
| Meta alanlar | Shopify nesnelerine iliştirdiğiniz kendi yapılı verileriniz |
Sık düşülen tuzaklar#
- Büyük koleksiyonlarda döngüler yavaş işler; Liquid içinde süzmek yerine sayfalayın.
- İstek başına hesapladığınız her şey her istekte hesaplanır — önbelleğe dost çıktı önemlidir.
- render yalıtılmış bir kapsam alır; include kullanımdan kalktı ve farklı davranır.
- Para kuruş olarak saklanır; elle aritmetik yerine money süzgeçlerini kullanın.
- Müşteriye özel içerik naif tam sayfa önbelleklemeyi engeller; bu hem performans hem doğruluk kararıdır.
Mantık nereye konmalı#
Veri şekillendirme, bir kez tanımlanıp ucuza okunan meta alanlara ve meta nesnelere aittir. Davranış bir uygulamaya ya da tarayıcıya aittir. Liquid çoğunlukla okumalı ve biçimlendirmelidir. Bu ayrımı izleyen temalar hızlı ve anlaşılır kalır.
Sıkça sorulan sorular
Liquid öğrenmesi zor mu?
Hayır — yetkin bir geliştirici bir günde üretken olur. Shopify'ın yapmanıza izin vermediklerini öğrenmek daha uzun sürer.
Liquid içinde sorgu yazabilir miyim?
Yalnız sayfanın nesne grafiğinin verdiği kadar, artı meta alanlar. Keyfî sorgulama yoktur.
Mantık Liquid'de mi JavaScript'te mi olmalı?
Sunum mantığı Liquid'de, etkileşim JavaScript'te, iş kuralları bir uygulamada ya da veri modelinizde.
shopify liquidliquid şablon dilishopify tema geliştirmeliquid temellerishopify meta alanlar