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

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 és order.line_items.
  • A pénzértékek egyszerű számok. Formázza őket a money szűrővel, például: {{ order.total_price | money }}.
  • Az opcionális értékeket védje egy if utasí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 for utasí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, increment vagy a decrement cí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.

Egyéni Liquid-blokkok számára elérhető felső szintű változók leírása
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

A rendelésobjektum leírása
TulajdonságLeí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.

A vásárlóobjektum leírása
TulajdonságLeí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.
email
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.

A rendelési sorelemobjektum leírása
TulajdonságLeí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.

A tranzakcióobjektum leírása
TulajdonságLeí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.

A shop-objektum leírása
TulajdonságLeí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.

A helyszínobjektum leírása
TulajdonságLeí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.

A címobjektum leírása
TulajdonságLeí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.

A kedvezményobjektum leírása
TulajdonságLeí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.

Az adósorobjektum leírása
TulajdonságLeí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.

Az ajándékkártya-objektum leírása
TulajdonságLeí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.

Az egyéni Liquid-blokkban elérhető szűrők leírása
SzűrőPéldaLeí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 }}