Egendefinerte Liquid-blokker for trykte kvitteringer
Du kan bruke en egendefinert Liquid-blokk til å legge til ditt eget innhold i overskriften eller bunnteksten på en trykt kvittering, for eksempel bestillingsinformasjon, kundeinformasjon, produktegenskaper, metafelt og strekkoder.
Egendefinerte Liquid-blokker gjengis på trykte kvitteringer for fullførte bestillinger på nettet og i Point of Sale. De gjengis ikke for bestillinger som bruker frakoblet kasse.
Du kan legge til en egendefinert Liquid-blokk fra den visuelle redigereren for kvitteringer i Shopify-administratoren. Verdiene du refererer til, hentes fra kvitteringens data når den skrives ut. For eksempel vil følgende Liquid-kode legge til bestillingsmerknaden på kvitteringen når en merknad finnes:
{% if order.note %}
<p>Order note: {{ order.note }}</p>
{% endif %}På denne siden
Syntaksregler for Liquid
Se gjennom følgende syntaksregler før du bygger en egendefinert Liquid-blokk:
- Variabelnavn bruker små bokstaver og understreker, et format kjent som snake_case. Bruk for eksempel
order.total_price,order.customer.display_nameogorder.line_items. - Pengeverdier er vanlige tall. Formater dem med
money-filteret, for eksempel{{ order.total_price | money }}. - Beskytt valgfrie verdier med en
if-setning, slik at du ikke skriver ut en tom linje, for eksempel{% if order.customer.email %}{{ order.customer.email }}{% endif %}. - Gå gjennom lister med en
for-setning, for eksempel{% for item in order.line_items %} ... {% endfor %}. - Noen Liquid-tagger støttes ikke. Du kan ikke bruke
assign,capture,include,render,raw,incrementellerdecrement. Hvis blokken din bruker en tagg som ikke støttes, vil ikke kvitteringen bli lagret, og du vil få en feilmelding. - En egendefinert Liquid-blokk kan inneholde opptil 50 KB med kode.
HTML og CSS
Du kan bruke grunnleggende HTML i en egendefinert Liquid-blokk for å strukturere innholdet ditt, som <p>, <br>, <strong>, <em>, overskrifter, lister og koblinger. Innholdet ditt bruker kvitteringens eksisterende skrifttyper og størrelser.
Du kan ikke bruke CSS til å endre hvordan en kvittering ser ut. <style>-blokker og style-attributter støttes ikke, slik at en egendefinert Liquid-blokk ikke kan endre stil på eller skjule innhold andre steder på kvitteringen. <script>-tagger, hendelseshåndterere som onclick, og javascript:-koblinger støttes heller ikke.
Hvis blokken din inneholder HTML som ikke støttes, vil ikke kvitteringen lagres, og du vil få en feilmelding. Fjern HTML-koden som ikke støttes, og lagre på nytt.
Variabler og objekter
En egendefinert Liquid-blokk kan referere til følgende objekter og variabler. Noen verdier finnes ikke på standardkvitteringen, så en egendefinert Liquid-blokk er én måte å legge dem til på.
Variabler på toppnivå
Følgende variabler på toppnivå er tilgjengelige i en egendefinert Liquid-blokk.
| Variabel | Beskrivelse |
|---|---|
order | Bestillingen som skrives ut. |
shop | Butikken. |
location | Utsalgsstedet. |
settings | Kvitteringens visningsinnstillinger, som er veksleknappene som er konfigurert i redigeringsverktøyet. |
purchased_gift_cards | Gavekortene som er kjøpt på denne bestillingen. |
staff_member_description | Den tilskrevne medarbeideren, når personalvisning er slått på. |
locale | Lokalet for kvitteringen, for eksempel en. |
is_pickup | Hvorvidt bestillingen er en hentebestilling. |
pickup_location | Hentestedet, når dette er aktuelt. |
Bestillingsobjekt
| Egenskap | Beskrivelse |
|---|---|
name | Ordrenavnet, for eksempel #1001. |
created_at |
Tidsstempelet for bestillingen. Bruk med date-filteret.
|
note | Bestillingsmerknaden. |
subtotal_price |
Delsummen. Formater med money-filteret.
|
total_price |
Totalbeløpet. Formater med money-filteret.
|
shipping_price |
Frakten som er belastet. Formater med money-filteret.
|
total_tip_received |
Tips totalt. Formater med money-filteret.
|
balance_due |
Beløpet som fortsatt skyldes. Formater med money-filteret.
|
change_due |
Vekselpengene som er gitt. Formater med money-filteret.
|
taxes_included | Hvorvidt avgift er inkludert i prisene. |
receipt_number | Kvitteringsnummeret. |
barcode_content | Innholdet som skal kodes i en strekkode. |
qr_code_content |
Innholdet som skal kodes i en QR-kode. Bruk med qrcode-filteret.
|
line_items | De kjøpte varene. Egenskapene til hver vare er oppført i objektet for bestillingsposten. |
transactions | Innbetalingene. Egenskapene til hver innbetaling er oppført i transaksjonsobjektet. |
discounts | Rabattene på bestillingsnivå. Egenskapene til hver rabatt er oppført i rabattobjektet. |
tax_lines | Avgiftslinjene. Egenskapene til hver avgiftslinje er oppført i avgiftslinjeobjektet. |
refunds | Refusjonene på bestillingen. |
shipping_address | Leveringsadressen. Adresseegenskaper er oppført i adresseobjektet. |
customer | Kundens detaljer, oppført i kundeobjektet. |
metafields | Bestillingens metafelt. |
Kundeobjekt
Objektet order.customer inneholder kundens detaljer.
| Egenskap | Beskrivelse |
|---|---|
display_name | Kundens visningsnavn. |
first_name | Kundens fornavn. |
last_name | Kundens etternavn. |
| Kundens e-postadresse. | |
phone | Kundens telefonnummer. |
default_address | Kundens standardadresse. |
metafields | Kundens metafelt. |
Objekt for bestillingspost
Hver post i order.line_items inneholder følgende egenskaper.
| Egenskap | Beskrivelse |
|---|---|
name | Produkt- eller postnavnet. |
variant_title | Varianten, for eksempel Large / Blå. |
sku | SKU-en. |
vendor | Selgeren. |
quantity | Antallet. |
price |
Enhetsprisen. Formater med money-filteret.
|
total_price |
Posttotalen. Formater med money-filteret.
|
discounted_total_price |
Posttotalen etter rabatter. Formater med money-filteret.
|
discounted_unit_price |
Pris per enhet etter rabatter. Formater med money-filteret.
|
discounts | Rabattene som er brukt på posten. |
selling_plan_name | Navn på abonnement eller salgsplan, hvis aktuelt. |
staff_member_description | Medarbeideren som er tilknyttet posten. |
custom_attributes | Bestillingspostens egenskaper, tilgjengelig via nøkkel. |
product_metafields | Produktets metafelt, tilgjengelig via nøkkel. |
variant_metafields | Variantens metafelt, tilgjengelig via nøkkel. |
Transaksjonsobjekt
Hver betaling i order.transactions inneholder følgende egenskaper. Butikkvaluta brukt på bestillingen er oppført som en betaling kalt Butikkvaluta. Kundens gjenværende butikkvalutasaldo er ikke tilgjengelig som variabel.
| Egenskap | Beskrivelse |
|---|---|
name | Betalingsnavnet, som Visa, kontanter eller butikkvaluta. |
payment_type | Koden for betalingstype. |
amount |
Beløpet. Formater med money-filteret.
|
kind | Transaksjonstypen. |
status | Transaksjonsstatusen. |
credit_card_number | Det maskerte kortnummeret, der det er aktuelt. |
created_at | Transaksjonens tidsstempel. |
additional_details | Ekstra linjer med betalingsopplysninger. |
Butikkobjekt
Objektet shop inneholder butikkens detaljer.
| Egenskap | Beskrivelse |
|---|---|
name | Butikknavnet. |
domain | Butikkdomenet. |
currency | Butikkens valuta. |
id | Butikk-ID-en. |
Lokalisasjonsobjekt
Objektet location inneholder detaljer for utsalgsstedet.
| Egenskap | Beskrivelse |
|---|---|
name | Lokalisasjonsnavnet. |
address1 | Den første adresselinjen. |
address2 | Den andre adresselinjen. |
city | Byen. |
province | Fylket eller delstaten. |
province_code | Koden for fylke eller delstat. |
zip | ZIP- eller postnummeret. |
country | Landet. |
phone | Telefonnummeret. |
metafields | Lokalisasjonens metafelt. |
Adresseobjekt
En adresse, som order.shipping_address eller order.customer.default_address, inneholder følgende egenskaper.
| Egenskap | Beskrivelse |
|---|---|
company | Bedriftsnavnet. |
name | Mottakerens navn. |
address1 | Den første adresselinjen. |
address2 | Den andre adresselinjen. |
city | Byen. |
province | Fylket eller delstaten. |
province_code | Koden for fylke eller delstat. |
zip | ZIP- eller postnummeret. |
country | Landet. |
country_code | Landskoden. |
phone | Telefonnummeret. |
Rabattobjekt
Hver rabatt i order.discounts eller item.discounts inneholder følgende egenskaper.
| Egenskap | Beskrivelse |
|---|---|
description | Rabattbeskrivelsen. |
amount | Rabattbeløpet. Formater med money-filteret. |
percentage | Rabattprosenten. |
Avgiftslinjeobjekt
Hver avgiftslinje i order.tax_lines inneholder følgende egenskaper.
| Egenskap | Beskrivelse |
|---|---|
title | Avgiftstittelen. |
rate | Skattesatsen som desimaltall. |
rate_percentage | Skattesatsen som prosent. |
price | Avgiftsbeløpet. Formater med money-filteret. |
taxable_amount | Det avgiftspliktige beløpet. Formater med money-filteret. |
Gavekortobjekt
Hvert gavekort i purchased_gift_cards inneholder følgende egenskaper.
| Egenskap | Beskrivelse |
|---|---|
code | Gavekortkoden. |
masked_code | Den maskerte gavekortkoden. |
balance | Saldoen på gavekortet. Formater med money-filteret. |
created_at | Tidsstempelet for gavekortet. |
qr_code_content | Innholdet som skal kodes i en QR-kode. |
Metafelt og egenskaper
Metafelt og postegenskaper kommer i to former.
Metafelt og egenskaper for poster er nøkkelbasert. Få tilgang til en verdi direkte via nøkkelen:
{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}Bestillings- og kundemetafelt er lister. Gå gjennom dem i en løkke:
{% for m in order.metafields %}
{{ m.namespace }}.{{ m.key }}: {{ m.value }}
{% endfor %}Nøkler normaliseres til snake_case. En nøkkel som Care Instructions eller careInstructions åpnes som care_instructions. Referer alltid til nøkkelverdier med små bokstaver og understreker.
Tilgjengeligheten av bestillings- og kundemetafelt avhenger av at disse metafoltene finnes i oppføringen.
Liquid-filtre
Du kan bruke filtre til å formatere informasjonen i den egendefinerte Liquid-blokken. For å bruke et filter legger du til et vertikalstrek-tegn, |, og deretter filteret inni Liquid-utdataene, for eksempel {{ order.total_price | money }}.
Standard Liquid-filtre fungerer også. For å finne ut mer om Liquid-filtre, kan du se filterreferansen.
| Filter | Eksempel | Beskrivelse |
|---|---|---|
money | {{ order.total_price | money }} | Formaterer et beløp i kvitteringens valuta. |
date | {{ order.created_at | date: '%B %e, %Y' }} | Formaterer en dato eller et klokkeslett. |
percent | {{ tax_line.rate | percent }} | Formaterer et desimaltall som en prosentandel, for eksempel 0,2 som 20 %. |
t | {{ 'receipt.total' | t }} | Returnerer en oversatt etikett. |
barcode | {{ order.barcode_content | barcode }} | Gjengir en strekkode. |
qrcode | {{ order.qr_code_content | qrcode }} | Gjengir en QR-kode. |
Eksempler på egendefinerte Liquid-blokker
Følgende eksempler legger til innhold som ikke finnes i en standardmal for utskrevne kvitteringer.
For å legge til et bestillingsnotat hvis det finnes, kan du bruke følgende Liquid:
{% if order.note %}<p>Note: {{ order.note }}</p>{% endif %}For å legge til SKU-en ved siden av hver vare, kan du bruke følgende Liquid:
{% for item in order.line_items %}
<p>{{ item.name }} — {{ item.sku }} ×{{ item.quantity }}</p>
{% endfor %}For å legge til en postegenskap, for eksempel en gravering, kan du bruke følgende Liquid:
{% for item in order.line_items %}
{% if item.custom_attributes.engraving %}
<p>{{ item.name }} — Engraving: {{ item.custom_attributes.engraving }}</p>
{% endif %}
{% endfor %}For å legge til et produktmetafelt, for eksempel vaskeanvisninger, kan du bruke følgende Liquid:
{% for item in order.line_items %}
{% if item.product_metafields.care_instructions %}
<p>{{ item.name }}: {{ item.product_metafields.care_instructions }}</p>
{% endif %}
{% endfor %}For å legge til et kundemetafelt, kan du bruke følgende Liquid:
{% for m in order.customer.metafields %}
{% if m.key == 'loyalty_tier' %}<p>Loyalty tier: {{ m.value }}</p>{% endif %}
{% endfor %}For å legge til en QR-kode som leder til bestillingen, kan du bruke følgende Liquid:
{{ order.qr_code_content | qrcode }}