Temel söz dizimi
Liquid iki ana söz dizimi yapısı kullanır:- Çıktı Etiketleri:
{{ ... }}— Bir değişken veya nesneden veriyi görüntüler. - Mantık Etiketleri:
{% ... %}— Koşullu ifadeleri veya döngüleri yürütür.
Koşullar
Operatörler
==,!=,>,<,>=,<=and,orcontains(string veya dizi)
liquid
if, elsif, else
liquid
unless
liquid
Filtreler
Verilerin nasıl görüntüleneceğini ayarlamak için{{ variable | filter }} kullanarak filtreler uygulayın.
default
Özellik boşsa veya mevcut değilse varsayılan bir değer atayın.
liquid
date
Tarih filtresi bir zaman damgasını başka bir tarih formatına dönüştürür. Bu söz diziminin formatı strftime ile aynıdır. Giriş, Ruby’nin Time.parse ile aynı formatı kullanır.
Tarihleri etiketlerle saniye cinsinden unix zaman damgası olarak ayarlayın. Bu, hem liquid söz dizimi kişiselleştirmesinin hem de Time Operators ile segmentasyonun kullanılmasına izin verir. Örneğin, bir etiket şöyle görünebilir: bill_due : 1687968776
liquid
Result
liquid
Result
liquid
Result
now (veya today) kelimesini iletin.
liquid
Result
Geçerli zaman, mesajın alıcıya gönderildiği zamana göre mesajda render edilecektir. Mesajı test ediyorsanız, test mesajının gönderildiği zamanı geçerli zaman olarak göreceksiniz.
capitalize
Bu filtre, bir string’in ilk karakterini büyük harf yapar ve kalan karakterleri küçük harfe dönüştürür.
liquid
Result
round
Bu filtre bir sayıyı en yakın tam sayıya veya bir sayı argüman olarak iletilirse o sayıdaki ondalık basamak sayısına yuvarlar.
liquid
Result
pluralize
Bu filtre, verilen bir sayıya göre bir string’in tekil veya çoğul formunu döndürür. Sayı tam sayı olmalı ve string olarak sağlanabilir. Bir string’in hem tekil hem de çoğul formları sağlanmalıdır.
liquid
Result
Yineleme
for döngüleri
Bir kod bloğunu tekrar tekrar yürütür. Bir for döngüsü içinde kullanılabilen özelliklerin tam listesi için Liquid for döngüsü belgelerine bakın.
liquid
Request Body
Result
limit & offset
Döngüyü belirtilen sayıda yineleme ile sınırlar. Örneğin, bir mesajda yalnızca 4 ürün göstermek istiyorsanız, gösterilen ürün sayısını belirlemek için Limits ve Offsets kullanabilirsiniz.
Data
liquid
Result
Data
liquid
Result
where
Yalnızca belirli bir özellik değerine sahip nesneleri içeren bir dizi oluşturur veya varsayılan olarak herhangi bir doğru değer.
Bu örnekte, bir ürün listeniz olduğunu ve mutfak ürünlerinizi ayrı olarak göstermek istediğinizi varsayalım. where kullanarak, yalnızca kitchen type’ına sahip ürünleri içeren bir dizi oluşturabilirsiniz.
Data
liquid
Result
String Manipülasyonu
Mesajlarda etiket değerlerinin veya satır içi string’lerin nasıl görüntüleneceğini ayarlamak için string filtreleri uygulayın.| Komut | Açıklama | Örnek | Örnek Çıktı |
|---|---|---|---|
replace | Bir alt string’i başka bir string ile değiştirir. | {{ 'hello world' | replace: 'world', 'there' }} | hello there |
capitalize | Bir string’in ilk harfini büyük harf yapar. | {{ 'hello' | capitalize }} | Hello |
upcase | Bir string’i büyük harfe dönüştürür. | {{ 'hello' | upcase }} | HELLO |
downcase | Bir string’i küçük harfe dönüştürür. | {{ 'HELLO' | downcase }} | hello |
strip | Bir string’den baştaki ve sondaki boşlukları kaldırır. | {{ ' hello ' | strip }} | hello |
strip_html | Bir string’den tüm HTML etiketlerini kaldırır. | {{ '<p>hello</p>' | strip_html }} | hello |
truncate | Bir string’i belirtilen uzunlukta kısaltır, gerekirse üç nokta (…) ekler. | {{ 'This is a long sentence' | truncate: 10 }} | This is a… |
truncatewords | Belirli sayıda kelimeden sonra bir string’i keser. | {{ 'This is a long sentence' | truncatewords: 2 }} | This is… |
replace_first | Bir alt string’in ilk oluşumunu değiştirir. | {{ 'hello world' | replace_first: 'world', 'there' }} | hello there |
prepend | Başka bir string’in başına bir string ekler. | {{ 'world' | prepend: 'hello ' }} | hello world |
append | Başka bir string’in sonuna bir string ekler. | {{ 'hello' | append: ' world' }} | hello world |
lstrip | Bir string’den baştaki boşlukları kaldırır. | {{ ' hello' | lstrip }} | hello |
rstrip | Bir string’den sondaki boşlukları kaldırır. | {{ 'hello ' | rstrip }} | hello |
SSS
Değiştirme neden çalışmıyor?
- Uygulama İçi Mesajlar özellik değiştirmeyi desteklemez.
- “Send Test Message” kullanılırken etiket değiştirme çalışmaz.
- Etiket anahtarları alfasayısal olmalı veya _ ve - kullanmalıdır (nokta veya boşluk yok).
- Değiştirme önizleme modunda görünmez — test etmek için gerçek bir mesaj gönderin.
default mi yoksa if/else mi kullanmalıyım?
Yalnızca değişken değerinin bir geri dönüş değerine ihtiyacı varsa ve çevreleyen metin aynı kalıyorsa default filtresini kullanın.
liquid
Result (name = "Jon")
Result (name boşsa)
if/else koşullu mantığını kullanın.
liquid
Result (name = "Jon")
Result (name boşsa)
Boşluk ve yeni satırlar nasıl kontrol edilir?
Çevredeki boşlukları kırpmak için tire kullanın:{{- ... -}}, {%- ... -%}.
Daha fazla ayrıntı için Boşluk kontrolü’ne bakın.
Kullanıcı tarafından oluşturulan içerik nasıl işlenir?
Liquid ayrıştırmasını önlemek için kullanıcı tarafından oluşturulan metni{% raw %} ve {% endraw %} içine sarın. “raw” söz dizimi’ne bakın.
İlgili sayfalar
Mesaj kişiselleştirme
Liquid, Data Feeds ve özel etkinlikler dahil tüm kişiselleştirme seçeneklerine genel bakış.
Data Feeds
Gönderim zamanında API’lerinizden mesajlara gerçek zamanlı veri çekin.
Etiketler
Segmentasyon ve Liquid kişiselleştirme için kullanıcılara anahtar-değer çiftleri depolayın.
Şablonlar
Liquid kişiselleştirmesi yerleşik yeniden kullanılabilir mesaj şablonları oluşturun.