Blok Liquid kustom untuk tanda terima cetak
Anda dapat menggunakan blok Liquid kustom untuk menambahkan konten Anda sendiri ke header atau footer dari tanda terima cetak, seperti detail pesanan, informasi pelanggan, properti produk, bidang meta, dan barkod.
Blok Liquid kustom dirender pada tanda terima cetak untuk pesanan online dan Point of Sale yang telah selesai. Blok tidak dirender untuk pesanan yang menggunakan checkout offline.
Anda dapat menambahkan blok Liquid kustom dari editor visual tanda terima di admin Shopify Anda. Nilai yang Anda referensikan ditarik dari data tanda terima saat tanda terima dicetak. Contohnya, kode Liquid berikut menambahkan catatan pesanan ke tanda terima apabila ada catatan:
{% if order.note %}
<p>Order note: {{ order.note }}</p>
{% endif %}Di halaman ini
Aturan sintaksis Liquid
Tinjau aturan sintaksis berikut sebelum Anda membuat blok Liquid kustom:
- Nama variabel menggunakan huruf kecil dan garis bawah, format yang dikenal dengan snake_case. Contohnya, gunakan
order.total_price,order.customer.display_name, danorder.line_items. - Nilai uang adalah angka biasa. Format nilai tersebut menggunakan filter
money, seperti{{ order.total_price | money }}. - Lindungi nilai opsional dengan pernyataan
ifagar Anda tidak mencetak baris kosong, seperti{% if order.customer.email %}{{ order.customer.email }}{% endif %}. - Ulangi daftar menggunakan pernyataan
for, seperti{% for item in order.line_items %} ... {% endfor %}. - Beberapa tag Liquid tidak didukung. Anda tidak dapat menggunakan
assign,capture,include,render,raw,increment, ataudecrement. Jika blok Anda menggunakan tag yang tidak didukung, tanda terima tidak akan disimpan dan Anda akan melihat kesalahan. - Blok Liquid kustom dapat berisi kode hingga sebesar 50 KB.
HTML dan CSS
Anda dapat menggunakan HTML dasar di blok Liquid kustom untuk menyusun struktur konten Anda, seperti <p>, <br>, <strong>, <em>, tajuk, daftar, dan tautan. Konten Anda menggunakan font dan ukuran yang ada pada tanda terima.
Anda tidak dapat menggunakan CSS untuk mengubah tampilan tanda terima. Blok <style> dan atribut style tidak didukung, sehingga blok Liquid kustom tidak dapat mengubah gaya atau menyembunyikan konten di bagian lain pada tanda terima. Tag <script>, penanganan aktivitas (event handler) seperti onclick, dan tautan javascript: juga tidak didukung.
Jika blok Anda memuat HTML yang tidak didukung, tanda terima tidak akan disimpan dan Anda akan melihat kesalahan. Hapus HTML yang tidak didukung tersebut, lalu simpan kembali.
Variabel dan objek
Blok Liquid kustom dapat mereferensikan objek dan variabel berikut. Beberapa nilai tidak ada di tanda terima default, sehingga blok Liquid kustom merupakan salah satu cara untuk menambahkannya.
Variabel tingkat atas
Variabel tingkat atas berikut tersedia di blok Liquid kustom.
| Variabel | Deskripsi |
|---|---|
order | Pesanan yang sedang dicetak. |
shop | Toko. |
location | Lokasi retail. |
settings | Pengaturan tampilan tanda terima, yang merupakan tombol pengalih yang dikonfigurasi di dalam editor. |
purchased_gift_cards | Kartu hadiah yang dibeli pada pesanan ini. |
staff_member_description | Anggota staf yang diatribusikan, saat tampilan staf diaktifkan. |
locale | Lokal tanda terima, seperti en. |
is_pickup | Apakah pesanan merupakan pesanan penjemputan. |
pickup_location | Lokasi penjemputan, bila ada. |
Objek pesanan
| Properti | Deskripsi |
|---|---|
name | Nama pesanan, seperti #1001. |
created_at |
Stempel waktu pesanan. Gunakan bersama filter date.
|
note | Catatan pesanan. |
subtotal_price |
Subtotal. Format menggunakan filter money.
|
total_price |
Total. Format menggunakan filter money.
|
shipping_price |
Biaya pengiriman yang dikenakan. Format menggunakan filter money.
|
total_tip_received |
Total tip. Format menggunakan filter money.
|
balance_due |
Jumlah yang masih harus dibayar. Format menggunakan filter money.
|
change_due |
Kembalian yang diberikan. Format menggunakan filter money.
|
taxes_included | Apakah pajak termasuk di dalam harga. |
receipt_number | Nomor tanda terima. |
barcode_content | Konten untuk dienkode dalam sebuah barkod. |
qr_code_content |
Konten untuk dienkode dalam sebuah kode QR. Gunakan bersama filter qrcode.
|
line_items | Item yang dibeli. Properti masing-masing item tercantum dalam objek item pesanan. |
transactions | Pembayaran. Properti masing-masing pembayaran tercantum dalam objek transaksi. |
discounts | Diskon tingkat pesanan. Properti masing-masing diskon tercantum dalam objek diskon. |
tax_lines | Baris pajak. Properti masing-masing baris pajak tercantum dalam objek baris pajak. |
refunds | Pengembalian dana pada pesanan. |
shipping_address | Alamat pengiriman. Properti alamat tercantum dalam objek alamat. |
customer | Detail pelanggan, yang tercantum dalam objek pelanggan. |
metafields | Bidang meta pesanan. |
Objek pelanggan
Objek order.customer berisi detail pelanggan.
| Properti | Deskripsi |
|---|---|
display_name | Nama tampilan pelanggan. |
first_name | Nama depan pelanggan. |
last_name | Nama belakang pelanggan. |
| Alamat email pelanggan. | |
phone | Nomor telepon pelanggan. |
default_address | Alamat utama pelanggan. |
metafields | Bidang meta pelanggan. |
Objek item pesanan
Setiap item dalam order.line_items berisi properti berikut.
| Properti | Deskripsi |
|---|---|
name | Nama produk atau item pesanan. |
variant_title | Varian, seperti Besar / Biru. |
sku | SKU. |
vendor | Vendor. |
quantity | Kuantitas. |
price |
Harga satuan. Format dengan filter money.
|
total_price |
Total item pesanan. Format dengan filter money.
|
discounted_total_price |
Total item pesanan setelah diskon. Format dengan filter money.
|
discounted_unit_price |
Harga per unit setelah diskon. Format dengan filter money.
|
discounts | Diskon yang diterapkan pada item pesanan. |
selling_plan_name | Nama paket langganan atau rencana penjualan, jika ada. |
staff_member_description | Anggota staf yang dikaitkan dengan item pesanan. |
custom_attributes | Properti item pesanan, diakses menggunakan kunci. |
product_metafields | Bidang meta produk, diakses menggunakan kunci. |
variant_metafields | Bidang meta varian, diakses menggunakan kunci. |
Objek transaksi
Setiap pembayaran dalam order.transactions berisi properti berikut. Kredit toko yang dibelanjakan untuk pesanan akan tercantum sebagai pembayaran yang dinamakan Kredit toko. Saldo kredit toko pelanggan yang tersisa tidak tersedia sebagai variabel.
| Properti | Deskripsi |
|---|---|
name | Nama pembayaran, seperti Visa, uang tunai, atau kredit toko. |
payment_type | Kode jenis pembayaran. |
amount |
Jumlah. Format dengan filter money.
|
kind | Jenis transaksi. |
status | Status transaksi. |
credit_card_number | Nomor kartu yang disamarkan, jika berlaku. |
created_at | Stempel waktu transaksi. |
additional_details | Baris detail pembayaran tambahan. |
Objek toko
Objek shop berisi detail toko.
| Properti | Deskripsi |
|---|---|
name | Nama toko. |
domain | Domain toko. |
currency | Mata uang toko. |
id | ID toko. |
Objek lokasi
Objek location berisi detail lokasi ritel.
| Properti | Deskripsi |
|---|---|
name | Nama lokasi. |
address1 | Baris alamat pertama. |
address2 | Baris alamat kedua. |
city | Kota. |
province | Provinsi atau negara bagian. |
province_code | Kode provinsi atau negara bagian. |
zip | Kode pos. |
country | Negara. |
phone | Nomor telepon. |
metafields | Bidang meta lokasi. |
Objek alamat
Sebuah alamat, seperti order.shipping_address atau order.customer.default_address, berisi properti berikut.
| Properti | Deskripsi |
|---|---|
company | Nama perusahaan. |
name | Nama penerima. |
address1 | Baris alamat pertama. |
address2 | Baris alamat kedua. |
city | Kota. |
province | Provinsi atau negara bagian. |
province_code | Kode provinsi atau negara bagian. |
zip | Kode pos. |
country | Negara. |
country_code | Kode negara. |
phone | Nomor telepon. |
Objek diskon
Setiap diskon dalam order.discounts atau item.discounts berisi properti berikut.
| Properti | Deskripsi |
|---|---|
description | Deskripsi diskon. |
amount | Jumlah diskon. Format dengan filter money. |
percentage | Persentase diskon. |
Objek baris pajak
Setiap baris pajak dalam order.tax_lines berisi properti berikut.
| Properti | Deskripsi |
|---|---|
title | Judul pajak. |
rate | Tarif pajak dalam bentuk desimal. |
rate_percentage | Tarif pajak dalam bentuk persentase. |
price | Jumlah pajak. Format dengan filter money. |
taxable_amount | Jumlah yang dikenakan pajak. Format dengan filter money. |
Objek kartu hadiah
Setiap kartu hadiah dalam purchased_gift_cards berisi properti berikut.
| Properti | Deskripsi |
|---|---|
code | Kode kartu hadiah. |
masked_code | Kode kartu hadiah yang disamarkan. |
balance | Saldo kartu hadiah. Format dengan filter money. |
created_at | Stempel waktu kartu hadiah. |
qr_code_content | Konten yang akan dienkode dalam kode QR. |
Metafield dan properti
Metafield dan properti item pesanan tersedia dalam dua bentuk.
Metafield dan properti item pesanan menggunakan kunci. Akses nilai secara langsung berdasarkan kuncinya:
{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}Metafield pesanan dan pelanggan berupa daftar. Lakukan perulangan padanya:
{% for m in order.metafields %}
{{ m.namespace }}.{{ m.key }}: {{ m.value }}
{% endfor %}Kunci dinormalisasi ke snake_case. Kunci seperti Care Instructions atau careInstructions dapat diakses sebagai care_instructions. Selalu rujuk nilai yang menggunakan kunci dalam huruf kecil dengan garis bawah.
Ketersediaan metafield pesanan dan pelanggan bergantung pada keberadaan metafield tersebut dalam catatan.
Filter Liquid
Anda dapat menggunakan filter untuk memformat informasi di blok Liquid kustom Anda. Untuk menerapkan filter, tambahkan karakter pipa, |, lalu filter di dalam output Liquid, seperti {{ order.total_price | money }}.
Filter Liquid standar juga berfungsi. Untuk mempelajari lebih lanjut tentang filter Liquid, lihat Referensi filter.
| Filter | Contoh | Deskripsi |
|---|---|---|
money | {{ order.total_price | money }} | Memformat jumlah dalam mata uang tanda terima. |
date | {{ order.created_at | date: '%B %e, %Y' }} | Memformat tanggal atau waktu. |
percent | {{ tax_line.rate | percent }} | Memformat desimal sebagai persentase, seperti 0,2 menjadi 20%. |
t | {{ 'receipt.total' | t }} | Mengembalikan label yang diterjemahkan. |
barcode | {{ order.barcode_content | barcode }} | Menampilkan barkod. |
qrcode | {{ order.qr_code_content | qrcode }} | Menampilkan kode QR. |
Contoh blok Liquid kustom
Contoh berikut menambahkan konten yang tidak ada di templat tanda terima cetak default.
Untuk menambahkan catatan pesanan jika ada, gunakan Liquid berikut:
{% if order.note %}<p>Note: {{ order.note }}</p>{% endif %}Untuk menambahkan SKU di samping setiap item, gunakan Liquid berikut:
{% for item in order.line_items %}
<p>{{ item.name }} — {{ item.sku }} ×{{ item.quantity }}</p>
{% endfor %}Untuk menambahkan properti item pesanan, seperti ukiran, gunakan Liquid berikut:
{% for item in order.line_items %}
{% if item.custom_attributes.engraving %}
<p>{{ item.name }} — Engraving: {{ item.custom_attributes.engraving }}</p>
{% endif %}
{% endfor %}Untuk menambahkan metafield produk, seperti petunjuk perawatan, gunakan Liquid berikut:
{% for item in order.line_items %}
{% if item.product_metafields.care_instructions %}
<p>{{ item.name }}: {{ item.product_metafields.care_instructions }}</p>
{% endif %}
{% endfor %}Untuk menambahkan metafield pelanggan, gunakan Liquid berikut:
{% for m in order.customer.metafields %}
{% if m.key == 'loyalty_tier' %}<p>Loyalty tier: {{ m.value }}</p>{% endif %}
{% endfor %}Untuk menambahkan kode QR yang menautkan ke pesanan, gunakan Liquid berikut:
{{ order.qr_code_content | qrcode }}