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

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_name og order.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, increment eller decrement. 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.

Beskrivelse av variablene på toppnivå som er tilgjengelige for en egendefinert Liquid-blokk
VariabelBeskrivelse
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

Beskrivelse av bestillingsobjektet
EgenskapBeskrivelse
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.

Beskrivelse av kundeobjektet
EgenskapBeskrivelse
display_name
Kundens visningsnavn.
first_name
Kundens fornavn.
last_name
Kundens etternavn.
email
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.

Beskrivelse av bestillingspostobjektet
EgenskapBeskrivelse
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.

Beskrivelse av transaksjonsobjektet
EgenskapBeskrivelse
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.

Beskrivelse av butikkobjektet
EgenskapBeskrivelse
name
Butikknavnet.
domain
Butikkdomenet.
currency
Butikkens valuta.
id
Butikk-ID-en.

Lokalisasjonsobjekt

Objektet location inneholder detaljer for utsalgsstedet.

Beskrivelse av lokalisasjonsobjektet
EgenskapBeskrivelse
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.

Beskrivelse av adresseobjektet
EgenskapBeskrivelse
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.

Beskrivelse av rabattobjektet
EgenskapBeskrivelse
description
Rabattbeskrivelsen.
amount
Rabattbeløpet. Formater med money-filteret.
percentage
Rabattprosenten.

Avgiftslinjeobjekt

Hver avgiftslinje i order.tax_lines inneholder følgende egenskaper.

Beskrivelse av avgiftslinjeobjektet
EgenskapBeskrivelse
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.

Beskrivelse av gavekortobjektet
EgenskapBeskrivelse
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.

Beskrivelse av filtre som er tilgjengelige for en egendefinert Liquid-blokk
FilterEksempelBeskrivelse
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 }}