Blok Liquid tersuai untuk resit bercetak
Anda boleh menggunakan blok Liquid tersuai untuk menambahkan kandungan anda sendiri pada pengepala atau pengaki resit bercetak, seperti butiran pesanan, maklumat pelanggan, sifat produk, medan meta dan kod bar.
Blok Liquid tersuai dipaparkan pada resit bercetak bagi pesanan dalam talian dan Point of Sale yang telah diselesaikan. Blok tersebut tidak dipaparkan untuk pesanan yang menggunakan pembayaran luar talian.
Anda boleh menambahkan blok Liquid tersuai daripada penyunting visual resit dalam pentadbir Shopify anda. Nilai yang anda rujuk ditarik daripada data resit apabila resit tersebut dicetak. Sebagai contoh, kod Liquid yang berikut menambahkan nota pesanan pada resit apabila nota wujud:
{% if order.note %}
<p>Order note: {{ order.note }}</p>
{% endif %}Pada halaman ini
Peraturan sintaksis Liquid
Semak peraturan sintaksis yang berikut sebelum anda membina blok Liquid tersuai:
- Nama pemboleh ubah menggunakan huruf kecil dan garis bawah, format yang dikenali sebagai snake_case. Sebagai contoh, gunakan
order.total_price,order.customer.display_namedanorder.line_items. - Nilai wang ialah nombor biasa. Formatkan nombor tersebut menggunakan penapis
money, seperti{{ order.total_price | money }}. - Lindungi nilai pilihan dengan penyataan
ifsupaya anda tidak mencetak baris kosong, seperti{% if order.customer.email %}{{ order.customer.email }}{% endif %}. - Gelung pada senarai dengan penyataan
for, seperti{% for item in order.line_items %} ... {% endfor %}. - Sesetengah tag Liquid tidak disokong. Anda tidak boleh menggunakan
assign,capture,include,render,raw,increment, ataudecrement. Jika blok anda menggunakan tag yang tidak disokong, maka resit anda tidak akan disimpan dan anda akan melihat ralat. - Blok Liquid tersuai boleh mengandungi sehingga 50 KB kod.
HTML dan CSS
Anda boleh menggunakan HTML asas dalam blok Liquid tersuai untuk menstrukturkan kandungan anda, seperti <p>, <br>, <strong>, <em>, pengepala, senarai dan pautan. Kandungan anda menggunakan fon dan saiz sedia ada pada resit.
Anda tidak boleh menggunakan CSS untuk mengubah rupa resit. Blok <style> dan atribut style tidak disokong, supaya blok Liquid tersuai tidak boleh menggayakan semula atau menyembunyikan kandungan di tempat lain pada resit. Tag <script>, pengendali acara seperti onclick, dan pautan javascript: juga tidak disokong.
Jika blok anda mengandungi HTML yang tidak disokong, resit anda tidak akan disimpan dan anda akan melihat ralat. Alih keluar HTML yang tidak disokong, kemudian simpan semula.
Pemboleh ubah dan objek
Blok Liquid tersuai boleh merujuk objek dan pemboleh ubah yang berikut. Sesetengah nilai tiada pada resit lalai, jadi blok Liquid tersuai ialah salah satu cara untuk menambahkan nilai tersebut.
Pemboleh ubah peringkat atas
Pemboleh ubah peringkat atas yang berikut tersedia dalam blok Liquid tersuai.
| Pemboleh ubah | Penerangan |
|---|---|
order | Pesanan yang sedang dicetak. |
shop | Kedai. |
location | Lokasi runcit. |
settings | Tetapan paparan resit, iaitu togol yang dikonfigurasikan dalam penyunting. |
purchased_gift_cards | Kad hadiah yang dibeli pada pesanan ini. |
staff_member_description | Kakitangan yang dikaitkan, apabila paparan kakitangan dihidupkan. |
locale | Penempatan resit, seperti en. |
is_pickup | Sama ada pesanan merupakan pesanan pengambilan. |
pickup_location | Lokasi pengambilan, apabila berkenaan. |
Objek pesanan
| Sifat | Penerangan |
|---|---|
name | Nama pesanan, seperti #1001. |
created_at |
Cap masa pesanan. Gunakan dengan penapis date.
|
note | Nota pesanan. |
subtotal_price |
Subjumlah. Formatkan dengan penapis money.
|
total_price |
Jumlah. Formatkan dengan penapis money.
|
shipping_price |
Pengiriman yang dicaj. Formatkan dengan penapis money.
|
total_tip_received |
Jumlah tip. Formatkan dengan penapis money.
|
balance_due |
Amaun yang masih terhutang. Formatkan dengan penapis money.
|
change_due |
Baki yang diberikan. Formatkan dengan penapis money.
|
taxes_included | Sama ada cukai disertakan dalam harga. |
receipt_number | Nombor resit. |
barcode_content | Kandungan untuk dienkodkan dalam kod bar. |
qr_code_content |
Kandungan untuk dienkodkan dalam kod QR. Gunakan dengan penapis qrcode.
|
line_items | Item yang dibeli. Setiap sifat item disenaraikan dalam objek item baris pesanan. |
transactions | Pembayaran. Setiap sifat pembayaran disenaraikan dalam objek transaksi. |
discounts | Diskaun tahap pesanan. Setiap sifat diskaun disenaraikan dalam objek diskaun. |
tax_lines | Baris cukai. Setiap sifat baris cukai disenaraikan dalam objek baris cukai. |
refunds | Bayaran balik pada pesanan. |
shipping_address | Alamat pengiriman. Ciri alamat disenaraikan dalam objek alamat. |
customer | Butiran pelanggan, yang disenaraikan dalam objek pelanggan. |
metafields | Medan meta pesanan. |
Objek pelanggan
Objek order.customer mengandungi butiran pelanggan.
| Sifat | Penerangan |
|---|---|
display_name | Nama paparan pelanggan. |
first_name | Nama pertama pelanggan. |
last_name | Nama akhir pelanggan. |
| Alamat e-mel pelanggan. | |
phone | Nombor telefon pelanggan. |
default_address | Alamat lalai pelanggan. |
metafields | Medan meta pelanggan. |
Objek item baris pesanan
Setiap item dalam order.line_items mengandungi ciri berikut.
| Sifat | Penerangan |
|---|---|
name | Nama produk atau baris. |
variant_title | Varian, seperti Besar / Biru. |
sku | SKU. |
vendor | Vendor. |
quantity | Kuantiti. |
price |
Harga seunit. Formatkan dengan penapis money.
|
total_price |
Jumlah baris. Formatkan dengan penapis money.
|
discounted_total_price |
Jumlah baris selepas diskaun. Formatkan dengan penapis money.
|
discounted_unit_price |
Harga seunit selepas diskaun. Formatkan dengan penapis money.
|
discounts | Diskaun yang digunakan pada baris. |
selling_plan_name | Nama langganan atau pelan jualan, jika ada. |
staff_member_description | Ahli kakitangan yang diatributkan pada baris. |
custom_attributes | Ciri item baris yang diakses melalui kunci. |
product_metafields | Medan meta produk yang diakses melalui kunci. |
variant_metafields | Medan meta varian yang diakses melalui kunci. |
Objek transaksi
Setiap pembayaran dalam order.transactions mengandungi ciri berikut. Kredit kedai yang dibelanjakan pada pesanan disenaraikan sebagai pembayaran bernama Kredit kedai. Baki kredit kedai pelanggan tidak tersedia sebagai pemboleh ubah.
| Sifat | Penerangan |
|---|---|
name | Nama pembayaran, seperti Visa, wang tunai atau kredit kedai. |
payment_type | Kod jenis pembayaran. |
amount |
Jumlah. Formatkan dengan penapis money.
|
kind | Jenis transaksi. |
status | Status transaksi. |
credit_card_number | Nombor kad berselindung, jika berkenaan. |
created_at | Cap masa transaksi. |
additional_details | Baris butiran pembayaran tambahan. |
Objek kedai
Objek shop mengandungi butiran kedai.
| Sifat | Penerangan |
|---|---|
name | Nama kedai. |
domain | Domain kedai. |
currency | Mata wang kedai. |
id | ID kedai. |
Objek lokasi
Objek location mengandungi butiran lokasi runcit.
| Sifat | Penerangan |
|---|---|
name | Nama lokasi. |
address1 | Baris alamat pertama. |
address2 | Baris alamat kedua. |
city | Bandar. |
province | Wilayah atau negeri. |
province_code | Kod wilayah atau negeri. |
zip | ZIP atau poskod. |
country | Negara. |
phone | Nombor telefon. |
metafields | Medan meta lokasi. |
Objek alamat
Alamat, seperti order.shipping_address atau order.customer.default_address, mengandungi ciri berikut.
| Sifat | Penerangan |
|---|---|
company | Nama syarikat. |
name | Nama penerima. |
address1 | Baris alamat pertama. |
address2 | Baris alamat kedua. |
city | Bandar. |
province | Wilayah atau negeri. |
province_code | Kod wilayah atau negeri. |
zip | ZIP atau poskod. |
country | Negara. |
country_code | Kod negara. |
phone | Nombor telefon. |
Objek diskaun
Setiap diskaun dalam order.discounts atau item.discounts mengandungi ciri berikut.
| Sifat | Penerangan |
|---|---|
description | Penerangan diskaun. |
amount | Jumlah diskaun. Formatkan dengan penapis money. |
percentage | Peratusan diskaun. |
Objek baris cukai
Setiap baris cukai dalam order.tax_lines mengandungi ciri berikut.
| Sifat | Penerangan |
|---|---|
title | Tajuk cukai. |
rate | Kadar cukai dalam bentuk perpuluhan. |
rate_percentage | Kadar cukai dalam bentuk peratusan. |
price | Jumlah cukai. Formatkan dengan penapis money. |
taxable_amount | Jumlah yang tertakluk pada cukai. Formatkan dengan penapis money. |
Objek kad hadiah
Setiap kad hadiah dalam purchased_gift_cards mengandungi ciri berikut.
| Sifat | Penerangan |
|---|---|
code | Kod kad hadiah. |
masked_code | Kod kad hadiah yang diselindung. |
balance | Baki kad hadiah. Format dengan penapis money. |
created_at | Cap masa kad hadiah. |
qr_code_content | Kandungan yang hendak dienkodkan dalam kod QR. |
Medan meta dan sifat
Medan meta dan sifat item baris mempunyai dua bentuk.
Medan meta dan sifat item baris menggunakan kunci. Akses nilai secara langsung dengan kuncinya:
{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}Medan meta pesanan dan pelanggan ialah senarai. Buat gelung terhadapnya:
{% for m in order.metafields %}
{{ m.namespace }}.{{ m.key }}: {{ m.value }}
{% endfor %}Kunci dinormalkan kepada snake_case. Kunci seperti Care Instructions atau careInstructions diakses sebagai care_instructions. Sentiasa rujuk nilai yang menggunakan kunci dalam huruf kecil dengan garis bawah.
Ketersediaan medan meta pesanan dan pelanggan bergantung pada kewujudan medan meta tersebut pada rekod.
Penapis Liquid
Anda boleh menggunakan penapis untuk memformatkan maklumat dalam blok Liquid tersuai anda. Untuk menggunakan penapis, tambahkan aksara paip, |, kemudian penapis tersebut di dalam output Liquid, seperti {{ order.total_price | money }}.
Penapis Liquid standard juga boleh digunakan. Untuk mengetahui lebih lanjut tentang penapis Liquid, rujuk Rujukan penapis.
| Penapis | Contoh | Penerangan |
|---|---|---|
money | {{ order.total_price | money }} | Memformatkan amaun dalam mata wang resit. |
date | {{ order.created_at | date: '%B %e, %Y' }} | Memformatkan tarikh atau masa. |
percent | {{ tax_line.rate | percent }} | Memformatkan perpuluhan sebagai peratusan, seperti 0.2 sebagai 20%. |
t | {{ 'receipt.total' | t }} | Mengembalikan label yang diterjemahkan. |
barcode | {{ order.barcode_content | barcode }} | Memaparkan kod bar. |
qrcode | {{ order.qr_code_content | qrcode }} | Memaparkan kod QR. |
Contoh blok Liquid tersuai
Contoh berikut menambahkan kandungan yang tiada pada templat resit bercetak lalai.
Untuk menambahkan nota pesanan apabila nota tersebut wujud, gunakan Liquid yang berikut:
{% if order.note %}<p>Note: {{ order.note }}</p>{% endif %}Untuk menambahkan SKU di sebelah setiap item, gunakan Liquid yang berikut:
{% for item in order.line_items %}
<p>{{ item.name }} — {{ item.sku }} ×{{ item.quantity }}</p>
{% endfor %}Untuk menambahkan sifat item baris seperti ukiran, gunakan Liquid yang 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 medan meta produk, seperti arahan penjagaan, gunakan Liquid yang 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 medan meta pelanggan, gunakan Liquid yang berikut:
{% for m in order.customer.metafields %}
{% if m.key == 'loyalty_tier' %}<p>Loyalty tier: {{ m.value }}</p>{% endif %}
{% endfor %}Untuk menambahkan kod QR yang dipautkan kepada pesanan, gunakan Liquid yang berikut:
{{ order.qr_code_content | qrcode }}