Değişkenler ve Sıvı

Değişkenler ve Sıvı

Sayfayı kopyala

Shopify Flow verilerini Liquid ile e-posta konusu, gövdesi ve HTTP isteklerine aktarın. Değişkenler, sırlar, mağaza değerleri ve abonelik bağlantıları.

Bu uygulamadaki tüm dinamik öğeler Liquid ile oluşturulmuştur - bu, Shopify temalarının kullandığı şablon dilidir. Bir yer tutucu yazarsınız ve uygulama bunu gönderim anında doldurur.

Ad alanları

Ad alanı Değerin kaynağı nedir? Şu dillerde mevcuttur:
{{ variables.key }} Shopify Flow eylemindeki Değişkenler (JSON) alanı E-posta konusu ve içeriği, HTTP URL'si, başlıklar ve içerik
{{ secrets.key }} Sırlar sayfası Aynı bilgiler, ayrıca SMTP kullanıcı adı ve şifresi
{{ shop.name }}, {{ shop.domain }}, {{ shop.email }} Mağazanız E-posta ve HTTP eylemleri
{{ language }} Shopify Flow adımının gönderdiği dil; aksi takdirde düzenin ana dili E-posta konusu, önizleme metni ve gövde - bkz. Müşterilerinizin dilinde e-posta gönderin
{{ unsubscribe_link }}, {{ unsubscribe_url }} Alıcının abonelikten çıkma bağlantısı (yalnızca pazarlama şablonlarında) E-posta gövdesi; işlem amaçlı şablonlarda boş - aşağıya bakınız
{{ flow.key }} Shopify Flow’un ham veri yükü Yalnızca HTTP istekleri

Düzenleyicideki Sistem Değişkenleri sekmesi, mağaza değerlerini güncel içerikleriyle birlikte listeler; bunlardan birine tıklandığında o değer kopyalanır.

Shopify Flow'dan değişkenlerin aktarılması

Shopify Flow eyleminde, Değişkenler (JSON) alanına bir JSON nesnesi girin:

{
  "firstName": "{{ customer.firstName }}",
  "orderNumber": "{{ order.name }}",
  "total": "{{ order.totalPriceSet.shopMoney.amount }}"
}

Ardından bunları düzenin herhangi bir yerinde kullanabilirsiniz:

Hi {{ variables.firstName }}, your order {{ variables.orderNumber }} is on its way.

Tuşları siz seçersiniz. Sol tarafta ne yazarsanız, variables. ifadesinden sonra tam olarak aynı yazım ve büyük/küçük harf kurallarına uyarak onu kullanırsınız.

Bu JSON'u elle yazmanıza gerek yoktur. Her düzenin, kopyalanmaya hazır doğru JSON'u içeren bir ** Shopify Flowda Kullan"** kartı vardır - bkz. Shopify Flow'dan veri aktarımı.

Filtreler

Standart sıvı filtreleri işe yarar. En kullanışlı olanı, sizi boş değerlerden koruyan default filtresidir:

Hi {{ variables.firstName | default: "there" }}

Diğerleri ise beklendiği gibi davranır:

{{ variables.productTitle | upcase }}
{{ variables.total | round: 2 }}
{{ variables.note | truncate: 100 }}

Bir değişken boş olarak görüntülendiğinde

Başvurulan herhangi bir değişkeni “nothing” olarak işleyen bir canlı gönderim, Geçmiş’te Boş değişkenler rozetini alır. Girişi açtığınızda, bu girişe bir ad verilir ve iki farklı sorun birbirinden ayrılır:

  • Shopify Flow tarafından gönderildi ancak boş - anahtar JSON'unuzda vardı, ancak Shopify Flow herhangi bir değer üretmedi. Genellikle yanlış bir özellik yolu ya da o kayıt için gerçekten boş olan bir alan söz konusudur (misafir olarak yapılan ödeme işlemlerinde müşterinin adı yoktur).
  • Shopify Flow tarafından hiç gönderilmemiş - JSON dosyanızda bu anahtar tamamen eksik.

| default: yedek seçeneği eklenmesi, boşluğun kasıtlı olduğunu belirtir ve uygulama bu konuda uyarı vermeyi durdurur.

Koşullu ifadeler ve döngüler

Koşullu ifadeler için HTML / Kod bloğunu kullanın:

{% if variables.isVip %}
  <p>As a VIP you get free shipping on this order.</p>
{% else %}
  <p>Spend a little more to unlock free shipping.</p>
{% endif %}

Bir diziyi tekrarlamak için Döngü bloğunu kullanın; örneğin, sipariş satırlarını:

{% for item in variables.items %}
  <tr>
    <td>{{ item.title }}</td>
    <td>{{ item.quantity }}</td>
    <td>{{ item.price }}</td>
  </tr>
{% endfor %}

Shopify Flow'dan gelen diziyi JSON olarak aktarın:

{
  "items": [
    { "title": "Classic White T-Shirt", "quantity": 2, "price": "29.00" },
    { "title": "Eco Water Bottle", "quantity": 1, "price": "19.00" }
  ]
}

Oluşturucuda bir döngüyü önizlemek için, “Değişkenleri Test Et” sekmesindeki değerle aynı JSON dizisini girin.

Nesneler, e-posta ve HTTP'de farklı şekilde davranır

İşte bilmeye değer tek keskin kenar budur.

  • Bir **HTTP **isteğinde, bir nesneye veya diziye interpolasyon yapıldığında bu otomatik olarak JSON formatına dönüştürülür. {{ variables.records }}, istek gövdesinde geçerli bir JSON dizisi haline gelir. Açıkça belirtmek isterseniz json filtresini de kullanabilirsiniz.
  • Bir e-postada böyle bir dönüştürme söz konusu değildir. Nesnenin tamamını interpolasyonla işlendiğinde, metin [object Object] şeklinde görüntülenir.

Bu nedenle, e-postalarda konu başlığını yazmak yerine her zaman doğrudan içeriğe girin:

Wrong:  {{ variables.customer }}
Right:  {{ variables.customer.firstName }} {{ variables.customer.lastName }}

Ya da diziyi bir bütün olarak yazdırmak yerine, döngü içinde işleyin.

Şablonlardaki sırlar

Kaydedilmiş bir gizli bilgiye de aynı şekilde başvurabilirsiniz:

Authorization: Bearer {{ secrets.airtableAccessToken }}

{{ secrets.keyName }} biçimindeki tam sözdizimini kullanın. Aşağıdakiler çalışmaz:

  • {{ secret.keyName }} - tekil
  • {{ secrets['keyName'] }} - köşeli parantez sözdizimi

Anahtar adlarında büyük/küçük harf ayrımı yapılır. Bkz. Sırlar.

HTTP istekleri için gövde geçersiz kılma

HTTP eyleminin “değişkenler” alanı ikinci bir mod içerir. `body`` anahtarı geçirildiğinde, kaydedilmiş istek gövdesini tamamen değiştirir:

{
  "body": { "anything": "you like", "shaped": ["however"] }
}

Bu, yükün biçiminin daha önceki bir Shopify Flow adımında belirlenmiş olması durumunda kullanışlıdır. Tek istisna: Kaydedilen gövdenin kendisi {{ variables.body }} öğesine başvuruyorsa, bu durumda sıradan bir değişken olarak değerlendirilir.

Yazdıklarınızı deneme

Sayfa içi önizleme, Liquid’i değerlendirmez; etiketleri yazıldıkları şekliyle gösterir. Çözülmüş değerleri görmek için:

  • E-postalar için, düzen düzenleyicisindeki Test e-postası gönder seçeneğini kullanın.
  • HTTP istekleri için, yanıtın yanında Çözülmüş URL ve Çözülmüş İçerik bilgilerini gösteren Test düğmesini kullanın.

Pazarlama şablonlarındaki abonelikten çıkma bağlantısı

E-posta türü Pazarlama olarak ayarlanmış bir şablona iki değişken daha eklenir. Pazarlama e-postasının her alıcısının kendine ait bir abonelikten çıkma bağlantısı vardır ve bu bağlantı şu şekilde yerleştirilir:

  • {{ unsubscribe_link }}, Ayarlar bölümündeki (veya şablonun kendi) Aboneliği İptal Et metnini içeren bir bağlantı oluşturur.
  • {{ unsubscribe_url }}, kendi stilinizi uygulayabileceğiniz bir düğme veya bağlantı için adresi olduğu gibi görüntüler.
<p>No longer interested? <a href="{{ unsubscribe_url }}">Unsubscribe here</a>.</p>

Bunları kullanmak zorunda değilsiniz: her pazarlama e-postasına zaten bir abonelikten çıkma altbilgisi eklenir. Görüntülenen gövde zaten bağlantıyı içeriyorsa, altbilgi abonelikten çıkma ifadesini hariç tutar ve yalnızca şirket bilgilerini ekler. Konu satırında ve önizleme metninde her iki değişken de boş olarak görüntülenir; işlem amaçlı bir düzen içinde ise her zaman boşturlar. Bkz. Pazarlama e-postaları ve abonelikten çıkma işlemleri.

İlgili