Egyéni Liquid-blokkok nyomtatott nyugtákhoz
Egyéni Liquid-blokk használatával saját tartalmat adhat hozzá a nyomtatott nyugta fejlécéhez vagy láblécéhez, például rendelési adatokat, vásárlói információkat, terméktulajdonságokat, metamezőket és vonalkódokat.
Az egyéni Liquid-blokkok a befejezett online és az Értékesítési ponton leadott rendelések nyomtatott nyugtáin jelennek meg. Az offline pénztárat használó rendelések esetén nem jelennek meg.
A Shopify adminisztrációs felületén található vizuális nyugtaszerkesztőből hozzáadhat egyéni Liquid-blokkot. A hivatkozott értékek a nyugta adataiból származnak a nyugta kinyomtatásakor. A következő Liquid-kód például hozzáadja a rendelési megjegyzést a nyugtához, ha létezik megjegyzés:
{% if order.note %}
<p>Order note: {{ order.note }}</p>
{% endif %}Ezen az oldalon
A Liquid szintaktikai szabályai
Egyéni Liquid-blokk felépítése előtt tekintse át a következő szintaktikai szabályokat:
- A változónevek kisbetűket és aláhúzásokat használnak, ezt a formátumot snake_case néven is ismerik. Használja például a következőket:
order.total_price,order.customer.display_nameésorder.line_items. - A pénzértékek egyszerű számok. Formázza őket a
moneyszűrővel, például:{{ order.total_price | money }}. - Az opcionális értékeket védje egy
ifutasítással, hogy ne nyomtasson üres sort, például:{% if order.customer.email %}{{ order.customer.email }}{% endif %}. - A listákon való végighaladáshoz használjon
forutasítást, például:{% for item in order.line_items %} ... {% endfor %}. - Néhány Liquid-címke nem támogatott. Nem használhatja az
assign,capture,include,render,raw,incrementvagy adecrementcímkéket. Ha a blokkja nem támogatott címkét használ, akkor a nyugtát nem lehet elmenteni, és hibaüzenet jelenik meg. - Egy egyéni Liquid-blokk legfeljebb 50 KB-nyi kódot tartalmazhat.
HTML és CSS
A tartalom felépítéséhez alapvető HTML-kódokat használhat az egyéni Liquid-blokkokban, például a következőket: <p>, <br>, <strong>, <em>, fejlécek, listák és hivatkozások. A tartalom a nyugta meglévő betűtípusait és méreteit fogja használni.
A nyugta megjelenésének megváltoztatásához nem használhat CSS-t. A <style> blokkok és a style attribútumok nem támogatottak, így egy egyéni Liquid-blokk nem tudja átformázni vagy elrejteni a tartalmat a nyugta más részein. A <script> címkék, az eseménykezelők, mint például az onclick, és a javascript: hivatkozások szintén nem támogatottak.
Ha a blokk nem támogatott HTML-kódot tartalmaz, akkor a nyugtát nem lehet elmenteni, és hibaüzenet jelenik meg. Távolítsa el a nem támogatott HTML-t, majd mentsen újra.
Változók és objektumok
Egy egyéni Liquid-blokk a következő objektumokra és változókra hivatkozhat. Bizonyos értékek nem szerepelnek az alapértelmezett nyugtán, így az egyik módja a hozzáadásuknak egy egyéni Liquid-blokk használata.
Felső szintű változók
A következő felső szintű változók érhetők el egy egyéni Liquid-blokkban.
| Változó | Leírás |
|---|---|
order | A nyomtatás alatt lévő rendelés. |
shop | Az üzlet. |
location | A kiskereskedelmi helyszín. |
settings | A nyugta megjelenítési beállításai, amelyek a szerkesztőben konfigurált kapcsolókat jelentik. |
purchased_gift_cards | Az ebben a rendelésben megvásárolt ajándékkártyák. |
staff_member_description | A hozzárendelt személyzeti tag, ha a személyzet megjelenítése be van kapcsolva. |
locale | A nyugta területi beállítása, például: en. |
is_pickup | Azt jelöli, hogy a rendelés átvételi rendelés-e. |
pickup_location | Az átvételi hely, ha van ilyen. |
Rendelésobjektum
| Tulajdonság | Leírás |
|---|---|
name | A rendelés neve, például: #1001. |
created_at |
A rendelés időbélyege. A date szűrővel együtt használható.
|
note | A rendelés megjegyzése. |
subtotal_price |
A részösszeg. A money szűrővel kell formázni.
|
total_price |
A végösszeg. A money szűrővel kell formázni.
|
shipping_price |
A felszámított szállítás. A money szűrővel kell formázni.
|
total_tip_received |
A borravaló végösszege. A money szűrővel kell formázni.
|
balance_due |
A még hátralévő összeg. A money szűrővel kell formázni.
|
change_due |
A visszajáró. A money szűrővel kell formázni.
|
taxes_included | Azt jelöli, hogy az adó benne van-e az árakban. |
receipt_number | A nyugta száma. |
barcode_content | A vonalkódba kódolandó tartalom. |
qr_code_content |
A QR-kódba kódolandó tartalom. A qrcode szűrővel együtt használható.
|
line_items | A megvásárolt tételek. Az egyes tételek tulajdonságai a rendelési sorelem objektumban vannak felsorolva. |
transactions | A fizetések. Az egyes fizetések tulajdonságai a tranzakcióobjektumban vannak felsorolva. |
discounts | A rendelésszintű kedvezmények. Az egyes kedvezmények tulajdonságai a kedvezményobjektumban vannak felsorolva. |
tax_lines | Az adósorok. Az egyes adósorok tulajdonságai az adósorobjektumban vannak felsorolva. |
refunds | A rendeléshez tartozó visszatérítések. |
shipping_address | A szállítási cím. A cím tulajdonságai a(z) címobjektumban vannak felsorolva. |
customer | A vásárló adatai, amelyek a(z) vásárlóobjektumban vannak felsorolva. |
metafields | A rendelés metamezői. |
Vásárlóobjektum
A(z) order.customer objektum tartalmazza a vásárló adatait.
| Tulajdonság | Leírás |
|---|---|
display_name | A vásárló megjelenített neve. |
first_name | A vásárló keresztneve. |
last_name | A vásárló vezetékneve. |
| A vásárló e-mail-címe. | |
phone | A vásárló telefonszáma. |
default_address | A vásárló alapértelmezett címe. |
metafields | A vásárló metamezői. |
Rendelési sorelemobjektum
A(z) order.line_items minden tétele a következő tulajdonságokat tartalmazza.
| Tulajdonság | Leírás |
|---|---|
name | A termék vagy a sor neve. |
variant_title | A változat, például Nagy / Kék. |
sku | A cikkszám. |
vendor | A szállító. |
quantity | A mennyiség. |
price |
Az egységár. Formázza a money szűrővel.
|
total_price |
A sor végösszege. Formázza a money szűrővel.
|
discounted_total_price |
A sor kedvezmények utáni végösszege. Formázza a money szűrővel.
|
discounted_unit_price |
A kedvezmények utáni egységár. Formázza a money szűrővel.
|
discounts | A sorra alkalmazott kedvezmények. |
selling_plan_name | Az előfizetés vagy az értékesítési terv neve, ha van. |
staff_member_description | A sorhoz rendelt munkatárs. |
custom_attributes | A sorelem tulajdonságai, kulcs alapján elérve. |
product_metafields | A termék metamezői, kulcs alapján elérve. |
variant_metafields | A változat metamezői, kulcs alapján elérve. |
Tranzakcióobjektum
A(z) order.transactions minden fizetése a következő tulajdonságokat tartalmazza. A rendelésre elköltött üzleti jóváírás „Store credit” nevű fizetésként jelenik meg. A vásárló fennmaradó üzleti jóváírási egyenlege nem érhető el változóként.
| Tulajdonság | Leírás |
|---|---|
name | A fizetés neve, például Visa, készpénz vagy üzleti jóváírás. |
payment_type | A fizetés típusának kódja. |
amount |
Az összeg. Formázza a money szűrővel.
|
kind | A tranzakció fajtája. |
status | A tranzakció állapota. |
credit_card_number | A maszkolt kártyaszám (ha van). |
created_at | A tranzakció időbélyege. |
additional_details | További fizetési adatsorok. |
Shop-objektum
A(z) shop objektum tartalmazza az üzlet adatait.
| Tulajdonság | Leírás |
|---|---|
name | Az üzletnév. |
domain | Az üzlet doménje. |
currency | Az üzlet valutája. |
id | Az üzlet azonosítója. |
Helyszínobjektum
A(z) location objektum tartalmazza a kiskereskedelmi helyszín adatait.
| Tulajdonság | Leírás |
|---|---|
name | A helyszín neve. |
address1 | A cím első sora. |
address2 | A cím második sora. |
city | A város. |
province | A tartomány vagy állam. |
province_code | A tartomány vagy állam kódja. |
zip | Az irányítószám. |
country | Az ország. |
phone | A telefonszám. |
metafields | A helyszín metamezői. |
Címobjektum
Egy cím, mint például a(z) order.shipping_address vagy a(z) order.customer.default_address, a következő tulajdonságokat tartalmazza.
| Tulajdonság | Leírás |
|---|---|
company | A cégnév. |
name | A címzett neve. |
address1 | A cím első sora. |
address2 | A cím második sora. |
city | A város. |
province | A tartomány vagy állam. |
province_code | A tartomány vagy állam kódja. |
zip | Az irányítószám. |
country | Az ország. |
country_code | Az országkód. |
phone | A telefonszám. |
Kedvezményobjektum
A(z) order.discounts vagy a(z) item.discounts minden tétele a következő tulajdonságokat tartalmazza.
| Tulajdonság | Leírás |
|---|---|
description | A kedvezmény leírása. |
amount | A kedvezmény összege. Formázza a money szűrővel. |
percentage | A kedvezmény százalékos aránya. |
Adósorobjektum
A(z) order.tax_lines minden tétele a következő tulajdonságokat tartalmazza.
| Tulajdonság | Leírás |
|---|---|
title | Az adó neve. |
rate | Az adókulcs tizedestörtként. |
rate_percentage | Az adókulcs százalékban. |
price | Az adó összege. Formázza a money szűrővel. |
taxable_amount | Az adóköteles összeg. Formázza a money szűrővel. |
Ajándékkártya-objektum
A(z) purchased_gift_cards minden tétele a következő tulajdonságokat tartalmazza.
| Tulajdonság | Leírás |
|---|---|
code | Az ajándékkártya kódja. |
masked_code | A maszkolt ajándékkártya-kód. |
balance | Az ajándékkártya egyenlege. Formázza a money szűrővel. |
created_at | Az ajándékkártya időbélyege. |
qr_code_content | A QR-kódban kódolandó tartalom. |
Metamezők és tulajdonságok
A metamezők és a sorelemek tulajdonságai kétféle formában jelennek meg.
A sorelemek metamezői és tulajdonságai kulccsal vannak ellátva. Az értékek közvetlenül a kulcsuk alapján érhetők el:
{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}A rendelési és vásárlói metamezők listák. Menjen végig rajtuk egy ciklussal:
{% for m in order.metafields %}
{{ m.namespace }}.{{ m.key }}: {{ m.value }}
{% endfor %}A kulcsok snake_case formátumra vannak normalizálva. Az olyan kulcsok, mint a Care Instructions vagy a careInstructions, a care_instructions formában érhetők el. A kulccsal ellátott értékekre mindig kisbetűkkel és aláhúzással hivatkozzon.
A rendelési és vásárlói metamezők elérhetősége attól függ, hogy ezek a metamezők léteznek-e a rekordban.
Liquid-szűrők
A szűrők segítségével formázhatja az információkat az egyéni Liquid-blokkban. Szűrő alkalmazásához adjon hozzá egy vonal karaktert (|), majd a szűrőt a Liquid kimeneten belül, például: {{ order.total_price | money }}.
A szabványos Liquid-szűrők is működnek. A Liquid-szűrőkkel kapcsolatos további információkért tekintse meg a Szűrők referenciáját.
| Szűrő | Példa | Leírás |
|---|---|---|
money | {{ order.total_price | money }} | Egy összeget formáz a nyugta valutájában. |
date | {{ order.created_at | date: '%B %e, %Y' }} | Dátumot vagy időt formáz. |
percent | {{ tax_line.rate | percent }} | A tizedestörtet százalékként formázza, például a 0,2 értéket 20%-ként. |
t | {{ 'receipt.total' | t }} | Visszaadja a lefordított címkét. |
barcode | {{ order.barcode_content | barcode }} | Megjelenít egy vonalkódot. |
qrcode | {{ order.qr_code_content | qrcode }} | Megjelenít egy QR-kódot. |
Példák egyéni Liquid-blokkokra
Az alábbi példák olyan tartalmat adnak hozzá, amely nem szerepel az alapértelmezett nyomtatott nyugta sablonján.
A rendelési megjegyzés hozzáadásához, ha van ilyen, használja a következő Liquid-kódot:
{% if order.note %}<p>Note: {{ order.note }}</p>{% endif %}Az SKU hozzáadásához minden egyes tétel mellé, használja a következő Liquid-kódot:
{% for item in order.line_items %}
<p>{{ item.name }} — {{ item.sku }} ×{{ item.quantity }}</p>
{% endfor %}Egy sorelem tulajdonságának (például gravírozás) hozzáadásához használja a következő Liquid-kódot:
{% for item in order.line_items %}
{% if item.custom_attributes.engraving %}
<p>{{ item.name }} — Engraving: {{ item.custom_attributes.engraving }}</p>
{% endif %}
{% endfor %}Egy termékmetamező (például kezelési útmutató) hozzáadásához használja a következő Liquid-kódot:
{% for item in order.line_items %}
{% if item.product_metafields.care_instructions %}
<p>{{ item.name }}: {{ item.product_metafields.care_instructions }}</p>
{% endif %}
{% endfor %}Egy vásárlói metamező hozzáadásához használja a következő Liquid-kódot:
{% for m in order.customer.metafields %}
{% if m.key == 'loyalty_tier' %}<p>Loyalty tier: {{ m.value }}</p>{% endif %}
{% endfor %}A rendelésre mutató QR-kód hozzáadásához használja a következő Liquid-kódot:
{{ order.qr_code_content | qrcode }}