Yazdırılan makbuzlar için özel Liquid blokları

Yazdırılan bir makbuzun üstbilgisine veya altbilgisine sipariş ayrıntıları, müşteri bilgileri, ürün özellikleri, meta alanlar ve barkodlar gibi kendi içeriklerinizi eklemek için özel bir Liquid bloğu kullanabilirsiniz.

Özel Liquid blokları, tamamlanan online siparişler ve Point of Sale siparişleri için yazdırılan makbuzlarda oluşturulur. Offline ödeme kullanılan siparişler için oluşturulmazlar.

Shopify yöneticinizdeki makbuz görsel düzenleyicisinden özel bir Liquid bloğu ekleyebilirsiniz. Başvurduğunuz değerler, makbuz yazdırıldığında makbuz verilerinden çekilir. Örneğin, aşağıdaki Liquid kodu bir not mevcut olduğunda sipariş notunu makbuza ekler:

{% if order.note %}
  <p>Order note: {{ order.note }}</p>
{% endif %}

Liquid söz dizimi kuralları

Özel bir Liquid bloğu oluşturmadan önce aşağıdaki söz dizimi kurallarını inceleyin:

  • Değişken adları küçük harfler ve alt çizgiler kullanır. Bu formata snake_case denir. Örneğin, order.total_price, order.customer.display_name ve order.line_items kullanın.
  • Para değerleri düz sayılardır. Bunları {{ order.total_price | money }} gibi money filtresiyle biçimlendirin.
  • İsteğe bağlı değerleri if ifadesiyle koruma altına alarak boş bir satır yazdırmayı önleyin, örneğin: {% if order.customer.email %}{{ order.customer.email }}{% endif %}.
  • for ifadesiyle listeler üzerinde döngü oluşturun, örneğin: {% for item in order.line_items %} ... {% endfor %}.
  • Bazı Liquid etiketleri desteklenmez. assign, capture, include, render, raw, increment veya decrement kullanamazsınız. Bloğunuz desteklenmeyen bir etiket kullanıyorsa makbuzunuz kaydedilmez ve bir hata görürsünüz.
  • Özel bir Liquid bloğu en fazla 50 KB kod içerebilir.

HTML ve CSS

İçeriğinizi yapılandırmak için özel bir Liquid bloğunda <p>, <br>, <strong>, <em>, başlıklar, listeler ve bağlantılar gibi temel HTML'leri kullanabilirsiniz. İçeriğiniz makbuzun mevcut yazı tiplerini ve boyutlarını kullanır.

Makbuzun görünümünü değiştirmek için CSS kullanamazsınız. <style> blokları ve style özellikleri desteklenmez, bu nedenle özel bir Liquid bloğu makbuzun başka bir yerindeki içeriğin stilini değiştiremez veya içeriği gizleyemez. <script> etiketleri, onclick gibi olay işleyicileri ve javascript: bağlantıları da desteklenmez.

Bloğunuz desteklenmeyen bir HTML içeriyorsa makbuzunuz kaydedilmez ve bir hata görürsünüz. Desteklenmeyen HTML'yi kaldırın ve tekrar kaydedin.

Değişkenler ve nesneler

Özel bir Liquid bloğu aşağıdaki nesnelere ve değişkenlere başvurabilir. Bazı değerler varsayılan makbuzda yer almaz, bunları eklemenin bir yolu özel bir Liquid bloğu kullanmaktır.

Üst düzey değişkenler

Aşağıdaki üst düzey değişkenler özel bir Liquid bloğunda kullanılabilir.

Özel bir Liquid bloğunda kullanılabilen üst düzey değişkenlerin açıklaması
DeğişkenAçıklama
order
Yazdırılan sipariş.
shop
Mağaza.
location
Perakende satış konumu.
settings
Düzenleyicide yapılandırılan açma/kapatma düğmelerini içeren makbuz görünüm ayarları.
purchased_gift_cards
Bu siparişte satın alınan hediye kartları.
staff_member_description
Personel gösterimi açık olduğunda atfedilen personel.
locale
Makbuz yerel ayarı, örneğin en.
is_pickup
Siparişin bir teslim alım siparişi olup olmadığı.
pickup_location
Geçerli olduğunda, teslim alım konumu.

Sipariş nesnesi

Sipariş nesnesinin açıklaması
ÖzellikAçıklama
name
Sipariş adı, örneğin #1001.
created_at
Sipariş zaman damgası. date filtresi ile kullanın.
note
Sipariş notu.
subtotal_price
Alt toplam. money filtresi ile biçimlendirin.
total_price
Toplam. money filtresi ile biçimlendirin.
shipping_price
Tahsil edilen kargo ücreti. money filtresi ile biçimlendirin.
total_tip_received
Bahşiş toplamı. money filtresi ile biçimlendirin.
balance_due
Kalan tutar. money filtresi ile biçimlendirin.
change_due
Verilen para üstü. money filtresi ile biçimlendirin.
taxes_included
Verginin fiyatlara dahil olup olmadığı.
receipt_number
Makbuz numarası.
barcode_content
Bir barkodda kodlanacak içerik.
qr_code_content
Bir QR kodunda kodlanacak içerik. qrcode filtresi ile kullanın.
line_items
Satın alınan öğeler. Her öğenin özellikleri sipariş satır öğesi nesnesi bölümünde listelenir.
transactions
Ödemeler. Her bir ödemenin özellikleri işlem nesnesi bölümünde listelenir.
discounts
Sipariş düzeyindeki indirimler. Her bir indirimin özellikleri indirim nesnesi bölümünde listelenir.
tax_lines
Vergi satırları. Her bir vergi satırının özellikleri vergi satırı nesnesi bölümünde listelenir.
refunds
Siparişteki para iadeleri.
shipping_address
Kargo adresi. Adres özellikleri adres nesnesinde listelenir.
customer
Müşteri nesnesinde listelenen müşteri bilgileri.
metafields
Sipariş meta alanları.

Müşteri nesnesi

order.customer nesnesi, müşterinin bilgilerini içerir.

Müşteri nesnesinin açıklaması
ÖzellikAçıklama
display_name
Müşterinin görünen adı.
first_name
Müşterinin adı.
last_name
Müşterinin soyadı.
email
Müşterinin e-posta adresi.
phone
Müşterinin telefon numarası.
default_address
Müşterinin varsayılan adresi.
metafields
Müşteri meta alanları.

Sipariş satır öğesi nesnesi

Şu kısımdaki her bir öğe: order.line_items içindeki her bir öğe aşağıdaki özellikleri içerir.

Sipariş satır öğesi nesnesinin açıklaması
ÖzellikAçıklama
name
Ürün veya satır adı.
variant_title
Büyük / Mavi gibi varyasyon.
sku
SKU.
vendor
Satıcı.
quantity
Miktar.
price
Birim fiyatı. money filtresiyle biçimlendirin.
total_price
Satır toplamı. money filtresiyle biçimlendirin.
discounted_total_price
İndirimlerden sonraki satır toplamı. money filtresiyle biçimlendirin.
discounted_unit_price
İndirimlerden sonraki birim başına fiyat. money filtresiyle biçimlendirin.
discounts
Satıra uygulanan indirimler.
selling_plan_name
Varsa abonelik veya satış planı adı.
staff_member_description
Satırla ilişkilendirilen personel.
custom_attributes
Anahtar ile erişilen satır öğesi özellikleri.
product_metafields
Anahtar ile erişilen ürün meta alanları.
variant_metafields
Anahtar ile erişilen varyasyon meta alanları.

İşlem nesnesi

Şu kısımdaki her bir ödeme: order.transactions içindeki her bir ödeme aşağıdaki özellikleri içerir. Siparişte harcanan mağaza kredisi, Mağaza kredisi adlı bir ödeme olarak listelenir. Müşterinin kalan mağaza kredisi bakiyesi, bir değişken olarak kullanılamaz.

İşlem nesnesinin açıklaması
ÖzellikAçıklama
name
Visa, nakit veya mağaza kredisi gibi ödeme adı.
payment_type
Ödeme türü kodu.
amount
Tutar. money filtresiyle biçimlendirin.
kind
İşlem türü.
status
İşlem durumu.
credit_card_number
Uygun olduğunda maskelenmiş kart numarası.
created_at
İşlem zaman damgası.
additional_details
Ek ödeme bilgisi satırları.

Mağaza nesnesi

shop nesnesi, mağazanın bilgilerini içerir.

Mağaza nesnesinin açıklaması
ÖzellikAçıklama
name
Mağaza adı.
domain
Mağaza alan adı.
currency
Mağaza para birimi.
id
Mağaza kimliği.

Konum nesnesi

location nesnesi, perakende satış konumunun bilgilerini içerir.

Konum nesnesinin açıklaması
ÖzellikAçıklama
name
Konum adı.
address1
Birinci adres satırı.
address2
İkinci adres satırı.
city
Şehir.
province
İl veya eyalet.
province_code
İl veya eyalet kodu.
zip
Posta kodu.
country
Ülke.
phone
Telefon numarası.
metafields
Konum meta alanları.

Adres nesnesi

Örneğin order.shipping_address veya order.customer.default_addressgibi bir adres aşağıdaki özellikleri içerir.

Adres nesnesinin açıklaması
ÖzellikAçıklama
company
Şirket adı.
name
Alıcının adı.
address1
Birinci adres satırı.
address2
İkinci adres satırı.
city
Şehir.
province
İl veya eyalet.
province_code
İl veya eyalet kodu.
zip
Posta kodu.
country
Ülke.
country_code
Ülke kodu.
phone
Telefon numarası.

İndirim nesnesi

Şu kısımdaki her bir indirim: order.discounts veya item.discounts içindeki her bir öğe aşağıdaki özellikleri içerir.

İndirim nesnesinin açıklaması
ÖzellikAçıklama
description
İndirim açıklaması.
amount
İndirim tutarı. money filtresiyle biçimlendirin.
percentage
İndirim yüzdesi.

Vergi satırı nesnesi

Şu kısımdaki her bir vergi satırı: order.tax_lines içindeki her bir öğe aşağıdaki özellikleri içerir.

Vergi satırı nesnesinin açıklaması
ÖzellikAçıklama
title
Vergi başlığı.
rate
Ondalık sayı olarak vergi oranı.
rate_percentage
Yüzde olarak vergi oranı.
price
Vergi tutarı. money filtresiyle biçimlendirin.
taxable_amount
Vergiye tabi tutar. money filtresiyle biçimlendirin.

Hediye kartı nesnesi

Şu kısımdaki her bir hediye kartı: purchased_gift_cards içindeki her bir öğe aşağıdaki özellikleri içerir.

Hediye kartı nesnesinin açıklaması
ÖzellikAçıklama
code
Hediye kartı kodu.
masked_code
Maskelenmiş hediye kartı kodu.
balance
Hediye kartı bakiyesi. money filtresi ile biçimlendirin.
created_at
Hediye kartı zaman damgası.
qr_code_content
Bir QR kodunda kodlanacak içerik.

Meta alanlar ve özellikler

Meta alanlar ve satır öğesi özellikleri iki şekilde gelir.

Satır öğesi meta alanları ve özellikleri anahtarlıdır. Bir değere doğrudan anahtarı üzerinden erişin:

{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}

Sipariş ve müşteri meta alanları listedir. Bunların üzerinde döngü oluşturun:

{% for m in order.metafields %}
  {{ m.namespace }}.{{ m.key }}: {{ m.value }}
{% endfor %}

Anahtarlar snake_case yapısına normalleştirilir. Care Instructions veya careInstructions gibi bir anahtara care_instructions şeklinde erişilir. Anahtarlı değerlere her zaman küçük harflerle ve alt çizgi ile başvurun.

Sipariş ve müşteri meta alanlarının kullanılabilirliği, söz konusu meta alanların kayıtta mevcut olmasına bağlıdır.

Liquid filtreleri

Özel Liquid bloğunuzdaki bilgileri biçimlendirmek için filtreleri kullanabilirsiniz. Bir filtre uygulamak için Liquid çıkışının içine dikey çizgi (|) ve ardından filtreyi ekleyin. Örneğin: {{ order.total_price | money }}.

Standart Liquid filtreleri de kullanılabilir. Liquid filtreleri hakkında daha fazla bilgi edinmek için Filtreler referansı bölümüne bakın.

Özel bir Liquid bloğunda kullanılabilen filtrelerin açıklaması
FiltreÖrnekAçıklama
money
{{ order.total_price | money }}
Tutarı, makbuz para birimine göre biçimlendirir.
date
{{ order.created_at | date: '%B %e, %Y' }}
Tarihi veya saati biçimlendirir.
percent
{{ tax_line.rate | percent }}
Ondalık bir sayıyı yüzde olarak biçimlendirir (ör. 0,2 değerini %20 olarak).
t
{{ 'receipt.total' | t }}
Çevrilmiş bir etiket döndürür.
barcode
{{ order.barcode_content | barcode }}
Barkod oluşturur.
qrcode
{{ order.qr_code_content | qrcode }}
QR kodu oluşturur.

Özel Liquid bloğu örnekleri

Aşağıdaki örnekler, varsayılan bir basılı makbuz şablonunda bulunmayan içerikler ekler.

Mevcut olduğunda sipariş notunu eklemek için aşağıdaki Liquid'i kullanın:

{% if order.note %}<p>Note: {{ order.note }}</p>{% endif %}

Her ürünün yanına SKU eklemek için aşağıdaki Liquid'i kullanın:

{% for item in order.line_items %}
  <p>{{ item.name }} — {{ item.sku }} ×{{ item.quantity }}</p>
{% endfor %}

Oyma gibi bir satır öğesi özelliği eklemek için aşağıdaki Liquid'i kullanın:

{% for item in order.line_items %}
  {% if item.custom_attributes.engraving %}
    <p>{{ item.name }} — Engraving: {{ item.custom_attributes.engraving }}</p>
  {% endif %}
{% endfor %}

Bakım talimatları gibi bir ürün meta alanı eklemek için aşağıdaki Liquid'i kullanın:

{% for item in order.line_items %}
  {% if item.product_metafields.care_instructions %}
    <p>{{ item.name }}: {{ item.product_metafields.care_instructions }}</p>
  {% endif %}
{% endfor %}

Bir müşteri meta alanı eklemek için aşağıdaki Liquid'i kullanın:

{% for m in order.customer.metafields %}
  {% if m.key == 'loyalty_tier' %}<p>Loyalty tier: {{ m.value }}</p>{% endif %}
{% endfor %}

Siparişe bağlanan bir QR kodu eklemek için aşağıdaki Liquid'i kullanın:

{{ order.qr_code_content | qrcode }}