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 %}

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_name dan order.line_items.
  • Nilai wang ialah nombor biasa. Formatkan nombor tersebut menggunakan penapis money, seperti {{ order.total_price | money }}.
  • Lindungi nilai pilihan dengan penyataan if supaya 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, atau decrement. 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.

Penerangan tentang pemboleh ubah peringkat atas yang tersedia pada blok Liquid tersuai
Pemboleh ubahPenerangan
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

Penerangan tentang objek pesanan
SifatPenerangan
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.

Penerangan tentang objek pelanggan
SifatPenerangan
display_name
Nama paparan pelanggan.
first_name
Nama pertama pelanggan.
last_name
Nama akhir pelanggan.
email
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.

Penerangan tentang objek item baris pesanan
SifatPenerangan
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.

Penerangan tentang objek transaksi
SifatPenerangan
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.

Penerangan tentang objek kedai
SifatPenerangan
name
Nama kedai.
domain
Domain kedai.
currency
Mata wang kedai.
id
ID kedai.

Objek lokasi

Objek location mengandungi butiran lokasi runcit.

Penerangan tentang objek lokasi
SifatPenerangan
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.

Penerangan tentang objek alamat
SifatPenerangan
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.

Penerangan tentang objek diskaun
SifatPenerangan
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.

Penerangan tentang objek baris cukai
SifatPenerangan
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.

Penerangan tentang objek kad hadiah
SifatPenerangan
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.

Penerangan tentang penapis yang tersedia pada blok Liquid tersuai
PenapisContohPenerangan
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 }}