Blocuri Liquid personalizate pentru chitanțele tipărite
Puteți utiliza un bloc Liquid personalizat pentru a adăuga propriul conținut în antetul sau subsolul unei chitanțe tipărite, cum ar fi informații detaliate despre comandă, informații despre clienți, proprietăți ale produselor, metacâmpuri și coduri de bare.
Blocurile Liquid personalizate se randează pe chitanțele tipărite pentru comenzile online și din Punctul de vânzare finalizate. Acestea nu se randează pentru comenzile care utilizează plata offline.
Puteți adăuga un bloc Liquid personalizat din editorul vizual de chitanțe din panoul de administrare Shopify. Valorile la care faceți referire sunt preluate din datele chitanței atunci când aceasta este tipărită. De exemplu, următorul cod Liquid adaugă mențiunea la comandă pe chitanță, atunci când există o mențiune:
{% if order.note %}
<p>Order note: {{ order.note }}</p>
{% endif %}Pe această pagină
Reguli de sintaxă Liquid
Examinați următoarele reguli de sintaxă înainte de a construi un bloc Liquid personalizat:
- Numele variabilelor folosesc litere mici și liniuțe de subliniere, un format cunoscut sub numele de snake_case. De exemplu, folosiți
order.total_price,order.customer.display_nameșiorder.line_items. - Valorile monetare sunt numere simple. Formatați-le cu filtrul
money, de exemplu{{ order.total_price | money }}. - Protejați valorile opționale cu o instrucțiune
ifastfel încât să nu tipăriți o linie goală, de exemplu{% if order.customer.email %}{{ order.customer.email }}{% endif %}. - Iterați prin liste cu o instrucțiune
for, de exemplu{% for item in order.line_items %} ... {% endfor %}. - Anumite etichete Liquid nu sunt acceptate. Nu puteți utiliza
assign,capture,include,render,raw,incrementsaudecrement. Dacă blocul dvs. folosește o etichetă neacceptată, chitanța nu se va salva și veți vedea o eroare. - Un bloc Liquid personalizat poate conține până la 50 KB de cod.
HTML și CSS
Puteți utiliza HTML de bază într-un bloc Liquid personalizat pentru a vă structura conținutul, de exemplu <p>, <br>, <strong>, <em>, titluri, liste și linkuri. Conținutul dvs. folosește fonturile și dimensiunile existente ale chitanței.
Nu puteți utiliza CSS pentru a schimba aspectul unei chitanțe. Blocurile <style> și atributele style nu sunt acceptate, prin urmare un bloc Liquid personalizat nu poate restiliza sau ascunde conținut în altă parte pe chitanță. Etichetele <script>, rutinele de tratare a evenimentelor, cum ar fi onclick, și linkurile javascript: de asemenea nu sunt acceptate.
Dacă blocul conține elemente HTML neacceptate, chitanța nu se va salva și veți vedea o eroare. Eliminați codul HTML neacceptat și salvați din nou.
Variabile și obiecte
Un bloc Liquid personalizat poate face referire la următoarele obiecte și variabile. Unele valori nu se află pe chitanța implicită, astfel încât un bloc Liquid personalizat este o modalitate de a le adăuga.
Variabile de nivel superior
Următoarele variabile de nivel superior sunt disponibile într-un bloc Liquid personalizat.
| Variabilă | Descriere |
|---|---|
order | Comanda care este tipărită. |
shop | Magazinul. |
location | Locația de retail. |
settings | Setările de afișare ale chitanței, care sunt comutatoarele configurate în editor. |
purchased_gift_cards | Cardurile cadou cumpărate pe această comandă. |
staff_member_description | Membrul personalului atribuit, când este activată afișarea personalului. |
locale | Parametrii locali ai chitanței, de exemplu en. |
is_pickup | Dacă comanda este o comandă cu ridicare. |
pickup_location | Locația de ridicare, dacă este cazul. |
Obiectul comandă
| Proprietate | Descriere |
|---|---|
name | Numele comenzii, de exemplu #1001. |
created_at |
Marca de timp a comenzii. A se utiliza cu filtrul date.
|
note | Mențiunea la comandă. |
subtotal_price |
Subtotalul. A se formata cu filtrul money.
|
total_price |
Totalul. A se formata cu filtrul money.
|
shipping_price |
Taxa de expediere. A se formata cu filtrul money.
|
total_tip_received |
Totalul bacșișului. A se formata cu filtrul money.
|
balance_due |
Suma încă datorată. A se formata cu filtrul money.
|
change_due |
Restul oferit. A se formata cu filtrul money.
|
taxes_included | Dacă taxa este inclusă în prețuri. |
receipt_number | Numărul chitanței. |
barcode_content | Conținutul care urmează să fie codificat într-un cod de bare. |
qr_code_content |
Conținutul care urmează să fie codificat într-un cod QR. A se utiliza cu filtrul qrcode.
|
line_items | Articolele achiziționate. Proprietățile fiecărui articol sunt listate în obiectul rând de comandă. |
transactions | Plățile. Proprietățile fiecărei plăți sunt listate în obiectul tranzacție. |
discounts | Reducerile la nivel de comandă. Proprietățile fiecărei reduceri sunt listate în obiectul reducere. |
tax_lines | Rândurile de taxe. Proprietățile fiecărui rând de taxe sunt listate în obiectul rând de taxe. |
refunds | Restituirile aferente comenzii. |
shipping_address | Adresa de livrare. Proprietățile adresei sunt enumerate în obiectul adresă. |
customer | Informațiile clientului, enumerate în obiectul client. |
metafields | Metacâmpurile comenzii. |
Obiectul client
Obiectul order.customer conține detaliile clientului.
| Proprietate | Descriere |
|---|---|
display_name | Numele afișat al clientului. |
first_name | Prenumele clientului. |
last_name | Numele de familie al clientului. |
| Adresa de e-mail a clientului. | |
phone | Numărul de telefon al clientului. |
default_address | Adresa implicită a clientului. |
metafields | Metacâmpurile clientului. |
Obiectul rând din comandă
Fiecare articol din order.line_items conține următoarele proprietăți.
| Proprietate | Descriere |
|---|---|
name | Numele produsului sau al rândului. |
variant_title | Varianta, cum ar fi Large / Blue. |
sku | Numărul de inventar (SKU). |
vendor | Vânzătorul. |
quantity | Cantitatea. |
price |
Prețul la bucată. Se formatează cu filtrul money.
|
total_price |
Totalul rândului. Se formatează cu filtrul money.
|
discounted_total_price |
Totalul rândului după aplicarea reducerilor. Se formatează cu filtrul money.
|
discounted_unit_price |
Prețul la bucată după aplicarea reducerilor. Se formatează cu filtrul money.
|
discounts | Reducerile aplicate rândului. |
selling_plan_name | Numele abonamentului sau al planului de vânzări, dacă există. |
staff_member_description | Membrul personalului atribuit rândului. |
custom_attributes | Proprietățile rândului, accesate prin cheie. |
product_metafields | Metacâmpurile produsului, accesate prin cheie. |
variant_metafields | Metacâmpurile variantei, accesate prin cheie. |
Obiectul tranzacție
Fiecare plată din order.transactions conține următoarele proprietăți. Creditul de magazin cheltuit pentru comandă apare ca o plată numită Credit magazin. Soldul rămas al creditului magazin pentru client nu este disponibil ca variabilă.
| Proprietate | Descriere |
|---|---|
name | Numele plății, cum ar fi Visa, numerar sau credit magazin. |
payment_type | Codul tipului de plată. |
amount |
Suma. Se formatează cu filtrul money.
|
kind | Tipul tranzacției. |
status | Starea tranzacției. |
credit_card_number | Numărul ascuns al cardului, dacă este cazul. |
created_at | Marca de timp a tranzacției. |
additional_details | Rânduri suplimentare cu informații detaliate privind plata. |
Obiectul magazin
Obiectul shop conține detaliile magazinului.
| Proprietate | Descriere |
|---|---|
name | Numele magazinului. |
domain | Domeniul magazinului. |
currency | Moneda magazinului. |
id | ID-ul magazinului. |
Obiectul locație
Obiectul location conține detaliile locației de vânzare cu amănuntul.
| Proprietate | Descriere |
|---|---|
name | Numele locației. |
address1 | Primul rând al adresei. |
address2 | Al doilea rând al adresei. |
city | Orașul. |
province | Provincia sau statul. |
province_code | Codul provinciei sau al statului. |
zip | Codul ZIP sau codul poștal. |
country | Țara. |
phone | Numărul de telefon. |
metafields | Metacâmpurile locației. |
Obiectul adresă
O adresă, cum ar fi order.shipping_address sau order.customer.default_address, conține următoarele proprietăți.
| Proprietate | Descriere |
|---|---|
company | Numele societății. |
name | Numele destinatarului. |
address1 | Primul rând al adresei. |
address2 | Al doilea rând al adresei. |
city | Orașul. |
province | Provincia sau statul. |
province_code | Codul provinciei sau al statului. |
zip | Codul ZIP sau codul poștal. |
country | Țara. |
country_code | Codul de țară. |
phone | Numărul de telefon. |
Obiectul reducere
Fiecare reducere din order.discounts sau item.discounts conține următoarele proprietăți.
| Proprietate | Descriere |
|---|---|
description | Descrierea reducerii. |
amount | Suma reducerii. Se formatează cu filtrul money. |
percentage | Procentul reducerii. |
Obiectul rând de taxă
Fiecare rând de taxă din order.tax_lines conține următoarele proprietăți.
| Proprietate | Descriere |
|---|---|
title | Titlul taxei. |
rate | Cota de impozitare sub formă zecimală. |
rate_percentage | Cota de impozitare sub formă procentuală. |
price | Suma taxei. Se formatează cu filtrul money. |
taxable_amount | Suma supusă taxelor. Se formatează cu filtrul money. |
Obiectul card cadou
Fiecare card cadou din purchased_gift_cards conține următoarele proprietăți.
| Proprietate | Descriere |
|---|---|
code | Codul cardului cadou. |
masked_code | Codul mascat al cardului cadou. |
balance | Soldul cardului cadou. Formatați cu filtrul money. |
created_at | Marca de timp a cardului cadou. |
qr_code_content | Conținutul de codificat într-un cod QR. |
Metacâmpuri și proprietăți
Metacâmpurile și proprietățile de rând au două forme.
Metacâmpurile și proprietățile de rând sunt identificate prin chei. Accesați o valoare direct prin cheia sa:
{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}Metacâmpurile pentru comandă și client sunt liste. Puteți itera prin acestea:
{% for m in order.metafields %}
{{ m.namespace }}.{{ m.key }}: {{ m.value }}
{% endfor %}Cheile sunt normalizate la formatul snake_case. O cheie precum Care Instructions sau careInstructions este accesată ca care_instructions. Faceți întotdeauna referire la valorile cu cheie folosind litere mici și caractere de subliniere.
Disponibilitatea metacâmpurilor pentru comenzi și clienți depinde de existența respectivelor metacâmpuri în înregistrare.
Filtre Liquid
Puteți folosi filtre pentru a formata informațiile din blocul Liquid personalizat. Pentru a aplica un filtru, adăugați o bară verticală, |, iar apoi filtrul în interiorul ieșirii Liquid, cum ar fi {{ order.total_price | money }}.
Filtrele Liquid standard funcționează de asemenea. Pentru a afla mai multe despre filtrele Liquid, consultați Referința filtrelor.
| Filtru | Exemplu | Descriere |
|---|---|---|
money | {{ order.total_price | money }} | Formatează o sumă în moneda din dovada plății. |
date | {{ order.created_at | date: '%B %e, %Y' }} | Formatează o dată sau o oră. |
percent | {{ tax_line.rate | percent }} | Formatează o zecimală ca procent, de exemplu 0,2 ca 20%. |
t | {{ 'receipt.total' | t }} | Returnează o etichetă tradusă. |
barcode | {{ order.barcode_content | barcode }} | Generează un cod de bare. |
qrcode | {{ order.qr_code_content | qrcode }} | Generează un cod QR. |
Exemple de blocuri Liquid personalizate
Exemplele următoare adaugă un conținut care nu se găsește pe șablonul implicit pentru dovadă a plății tipărită.
Pentru a adăuga nota la comandă atunci când există, folosiți următorul cod Liquid:
{% if order.note %}<p>Note: {{ order.note }}</p>{% endif %}Pentru a adăuga SKU-ul lângă fiecare articol, folosiți următorul cod Liquid:
{% for item in order.line_items %}
<p>{{ item.name }} — {{ item.sku }} ×{{ item.quantity }}</p>
{% endfor %}Pentru a adăuga o proprietate a rândului, cum ar fi o gravură, folosiți următorul cod Liquid:
{% for item in order.line_items %}
{% if item.custom_attributes.engraving %}
<p>{{ item.name }} — Engraving: {{ item.custom_attributes.engraving }}</p>
{% endif %}
{% endfor %}Pentru a adăuga un metacâmp al produsului, cum ar fi instrucțiunile de întreținere, folosiți următorul cod Liquid:
{% for item in order.line_items %}
{% if item.product_metafields.care_instructions %}
<p>{{ item.name }}: {{ item.product_metafields.care_instructions }}</p>
{% endif %}
{% endfor %}Pentru a adăuga un metacâmp al clientului, folosiți următorul cod Liquid:
{% for m in order.customer.metafields %}
{% if m.key == 'loyalty_tier' %}<p>Loyalty tier: {{ m.value }}</p>{% endif %}
{% endfor %}Pentru a adăuga un cod QR care trimite spre comandă, folosiți următorul cod Liquid:
{{ order.qr_code_content | qrcode }}