Mesaj türüne göre desteklenen alanlar
- E-posta
- Push
- SMS
- Uygulama İçi Mesajlar
- Live Activities
- Konu, Yanıtla ve Ön başlık
- Mesaj Gövdesi
- HTML bloklarında görüntü değiştirme. Örnek:
<img src="{{image_url}}"/> - URL’ler, Mail to ve diğer alanlar gibi Düğme bloğu eylemleri.
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.
Veri kaynakları
| Kaynak | Örnek | Açıklama |
|---|---|---|
| Etiket | {{ first_name }} | OneSignal SDK veya API (tags) |
| Özellik | {{ subscription.email }} | Sistem tarafından yönetilen (e-posta, external_id, dil, vb.) |
| Journey Adı | {{ journey.name }} | Sistem tarafından yönetilen |
| Özel Veri | {{ message.custom_data.key }} | Create Message API’de iletilen custom_data |
| Data Feeds | {{ data_feed.cart.size }} | Data Feeds, gönderim zamanında API’lerinizden doğrudan mesajlara gerçek zamanlı veri çekmenizi sağlar. |
| Özel Olaylar | {{ journey.last_event.name }} | Event Triggered Journeys, Wait Until düğümleri aracılığıyla ayarlanır |
Koşullar
Operatörler
==,!=,>,<,>=,<=and,orcontains(string veya dizi)
İşlemler sağdan sola çalışır. Parantezler desteklenmez.
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 for döngü nesnesine bakın.
liquid
Request Body
Results
Güçlü ve esnek olmasına rağmen, liquid söz diziminde
for döngülerinin kullanımı bazı nadir durumlarda zayıf bildirim teslimat performansına yol açabilir. for döngülerinin kullanımına dikkat edin. Ayrıca birkaç Push Kanal alanında for döngülerinin kullanımını engellediğimizi unutmayın: contents, headings, subtitle, apns_alert ve urllimit & 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
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
Bazen, doğrudan kullanıcılarınıza gösterilmeye uygun olmayan bir formatta string’ler içeren veri etiketleriniz olabilir ve formatı ayarlamak için string’i manipüle etmeniz gerekebilir. Aşağıda, string’leri ayarlamak için kullanılabilecek liquid söz dizimi komutlarının bir tablosu bulunmaktadır. String manipülasyonunu hem Etiketler üzerinde hem de doğrudan mesaja yazılan string’ler üzerinde kullanabilirsiniz.| 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.
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.
json