Tilpassede Liquid-blokke til trykte kvitteringer

Du kan bruge en tilpasset Liquid-blok til at tilføje dit eget indhold i sidehovedet eller sidefoden på en trykt kvittering. Dette kan f.eks. være ordreoplysninger, kundeoplysninger, produktegenskaber, metafelter og stregkoder.

Tilpassede Liquid-blokke vises på trykte kvitteringer for fuldførte onlineordrer og Point of Sale-ordrer. De vises ikke for ordrer, der bruger offline betaling.

Du kan tilføje en tilpasset Liquid-blok fra den visuelle editor til kvitteringer i din Shopify-administrator. De værdier, du henviser til, hentes fra kvitteringens data, når den udskrives. Følgende Liquid-kode tilføjer f.eks. ordrebemærkningen til kvitteringen, når der findes en bemærkning:

{% if order.note %}
  <p>Order note: {{ order.note }}</p>
{% endif %}

Regler for Liquid-syntaks

Gennemgå følgende syntaksregler, før du opbygger en tilpasset Liquid-blok:

  • Variabelnavne bruger små bogstaver og understregning, hvilket er et format, der kaldes snake_case. Brug f.eks. order.total_price, order.customer.display_name og order.line_items.
  • Pengeværdier er almindelige tal. Formatér dem med money-filteret, f.eks. {{ order.total_price | money }}.
  • Beskyt valgfrie værdier med en if-sætning, så du ikke udskriver en tom linje, f.eks. {% if order.customer.email %}{{ order.customer.email }}{% endif %}.
  • Kør lister i loop med en for-sætning, f.eks. {% for item in order.line_items %} ... {% endfor %}.
  • Nogle Liquid-tags understøttes ikke. Du kan ikke bruge assign, capture, include, render, raw, increment eller decrement. Hvis din blok bruger et tag, der ikke understøttes, gemmes din kvittering ikke, og du får vist en fejlmeddelelse.
  • En tilpasset Liquid-blok kan indeholde op til 50 KB kode.

HTML og CSS

Du kan bruge grundlæggende HTML i en tilpasset Liquid-blok for at strukturere dit indhold. Dette kan f.eks. være <p>, <br>, <strong>, <em>, overskrifter, lister og links. Dit indhold bruger de eksisterende skrifttyper og størrelser fra kvitteringen.

Du kan ikke bruge CSS til at ændre kvitteringens udseende. <style>-blokke og style-attributter understøttes ikke, så en tilpasset Liquid-blok kan ikke ændre formatet på eller skjule indhold andre steder på kvitteringen. <script>-tags, hændelseshandlere, såsom onclick, og javascript:-links understøttes heller ikke.

Hvis din blok indeholder HTML, der ikke understøttes, gemmes din kvittering ikke, og du får vist en fejlmeddelelse. Fjern den HTML, der ikke understøttes, og gem igen.

Variabler og objekter

En tilpasset Liquid-blok kan henvise til følgende objekter og variabler. Nogle værdier findes ikke på standardkvitteringen, så en tilpasset Liquid-blok er én måde at tilføje dem på.

Variabler på øverste niveau

Følgende variabler på øverste niveau er tilgængelige i en tilpasset Liquid-blok.

Beskrivelse af de variabler på øverste niveau, som er tilgængelige for en tilpasset Liquid-blok
VariabelBeskrivelse
order
Den ordre, der udskrives.
shop
Butikken.
location
Detaillokationen.
settings
Kvitteringens visningsindstillinger, hvilket er de knapper for at slå til/fra, der er konfigureret i editoren.
purchased_gift_cards
De gavekort, der blev købt i denne ordre.
staff_member_description
Den tilknyttede medarbejder, når visning af medarbejdere er slået til.
locale
Kvitteringens landestandard, f.eks. da.
is_pickup
Om ordren er til afhentning.
pickup_location
Afhentningslokationen, hvor det er relevant.

Ordreobjekt

Beskrivelse af ordreobjektet
EgenskabBeskrivelse
name
Ordrenavnet, f.eks. #1001.
created_at
Tidsstemplet for ordren. Brug med date-filteret.
note
Ordrebemærkningen.
subtotal_price
Subtotalen. Formatér med money-filteret.
total_price
Totalen. Formatér med money-filteret.
shipping_price
Opkrævet pris for forsendelse. Formatér med money-filteret.
total_tip_received
Totalen for drikkepenge. Formatér med money-filteret.
balance_due
Det resterende skyldige beløb. Formatér med money-filteret.
change_due
De udleverede byttepenge. Formatér med money-filteret.
taxes_included
Om skat er inkluderet i priserne.
receipt_number
Kvitteringsnummeret.
barcode_content
Det indhold, der skal kodes i en stregkode.
qr_code_content
Det indhold, der skal kodes i en QR-kode. Brug med qrcode-filteret.
line_items
De købte varer. Egenskaber for de enkelte varer er angivet i objektet for ordrevarelinje.
transactions
Betalingerne. Egenskaber for de enkelte betalinger er angivet i transaktionsobjektet.
discounts
Rabatterne på ordreniveau. Egenskaber for de enkelte rabatter er angivet i rabatobjektet.
tax_lines
Skattevarelinjerne. Egenskaber for de enkelte skattevarelinjer er angivet i skattevarelinjeobjektet.
refunds
Refusionerne for ordren.
shipping_address
Leveringsadressen. Adresseegenskaber er angivet i adresseobjektet.
customer
Kundens oplysninger, som er angivet i kundeobjektet.
metafields
Ordrens metafelter.

Kundeobjekt

Dette order.customer -objekt indeholder kundens oplysninger.

Beskrivelse af kundeobjektet
EgenskabBeskrivelse
display_name
Kundens visningsnavn.
first_name
Kundens fornavn.
last_name
Kundens efternavn.
email
Kundens mailadresse.
phone
Kundens telefonnummer.
default_address
Kundens standardadresse.
metafields
Kundens metafelter.

Objekt for ordrens varelinje

Hver vare i order.line_items indeholder følgende egenskaber.

Beskrivelse af objektet for ordrens varelinje
EgenskabBeskrivelse
name
Produktets eller linjens navn.
variant_title
Varianten, f.eks. Large / Blå.
sku
SKU'en.
vendor
Forhandleren.
quantity
Antallet.
price
Stykprisen. Formatér med filteret money.
total_price
Linjetotalen. Formatér med filteret money.
discounted_total_price
Linjetotalen efter rabatter. Formatér med filteret money.
discounted_unit_price
Stykprisen efter rabatter. Formatér med filteret money.
discounts
De rabatter, der er anvendt på linjen.
selling_plan_name
Navnet på et eventuelt abonnement eller en eventuel salgsplan.
staff_member_description
Den medarbejder, der er knyttet til linjen.
custom_attributes
Varelinjens egenskaber (tilgås via nøgle).
product_metafields
Produktets metafelter (tilgås via nøgle).
variant_metafields
Variantens metafelter (tilgås via nøgle).

Transaktionsobjekt

Hver betaling i order.transactions indeholder følgende egenskaber. Tilgodebeviser, der er brugt på ordren, angives som en betaling med navnet Tilgodebevis. Kundens resterende saldo for tilgodebeviser er ikke tilgængelig som en variabel.

Beskrivelse af transaktionsobjektet
EgenskabBeskrivelse
name
Navnet på betalingen, f.eks. Visa, kontant eller tilgodebevis.
payment_type
Koden for betalingstypen.
amount
Beløbet. Formatér med filteret money.
kind
Transaktionstypen.
status
Transaktionsstatussen.
credit_card_number
Det maskerede kortnummer (når det er relevant).
created_at
Transaktionens tidsstempel.
additional_details
Ekstra linjer med betalingsoplysninger.

Shop-objekt

Dette shop -objekt indeholder butikkens oplysninger.

Beskrivelse af shop-objektet
EgenskabBeskrivelse
name
Butikkens navn.
domain
Butikkens domæne.
currency
Butikkens valuta.
id
Butikkens id.

Lokationsobjekt

Dette location -objekt indeholder detaillokationens oplysninger.

Beskrivelse af lokationsobjektet
EgenskabBeskrivelse
name
Lokationens navn.
address1
Den første adresselinje.
address2
Den anden adresselinje.
city
Byen.
province
Området eller staten.
province_code
Koden for området eller staten.
zip
Postnummeret.
country
Landet.
phone
Telefonnummeret.
metafields
Lokationens metafelter.

Adresseobjekt

En adresse, f.eks. order.shipping_address eller order.customer.default_address, indeholder følgende egenskaber.

Beskrivelse af adresseobjektet
EgenskabBeskrivelse
company
Firmanavnet.
name
Modtagerens navn.
address1
Den første adresselinje.
address2
Den anden adresselinje.
city
Byen.
province
Området eller staten.
province_code
Koden for området eller staten.
zip
Postnummeret.
country
Landet.
country_code
Landekoden.
phone
Telefonnummeret.

Rabatobjekt

Hver rabat i order.discounts eller item.discounts indeholder følgende egenskaber.

Beskrivelse af rabatobjektet
EgenskabBeskrivelse
description
Rabatbeskrivelsen.
amount
Rabatbeløbet. Formatér med filteret money.
percentage
Rabatprocenten.

Skattelinjeobjekt

Hver skattelinje i order.tax_lines indeholder følgende egenskaber.

Beskrivelse af skattelinjeobjektet
EgenskabBeskrivelse
title
Skattens titel.
rate
Skatteprocenten som en decimal.
rate_percentage
Skatteprocenten som en procentdel.
price
Skattebeløbet. Formatér med filteret money.
taxable_amount
Det beløb, der skal betales skat af. Formatér med filteret money.

Gavekortobjekt

Hvert gavekort i purchased_gift_cards indeholder følgende egenskaber.

Beskrivelse af gavekortobjektet
EgenskabBeskrivelse
code
Gavekortkoden.
masked_code
Den maskerede gavekortkode.
balance
Gavekortets saldo. Formater med filtret money.
created_at
Gavekortets tidsstempel.
qr_code_content
Det indhold, der skal kodes i en QR-kode.

Metafelter og egenskaber

Metafelter og egenskaber for varelinjer findes i to former.

Metafelter og egenskaber for varelinjer er nøglebaserede. Få adgang til en værdi direkte via dens nøgle:

{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}

Ordre- og kundemetafelter er lister. Gennemløb dem:

{% for m in order.metafields %}
  {{ m.namespace }}.{{ m.key }}: {{ m.value }}
{% endfor %}

Nøgler normaliseres til snake_case. En nøgle såsom Care Instructions eller careInstructions tilgås som care_instructions. Henvis altid til nøglebaserede værdier med små bogstaver og understregning.

Tilgængeligheden af ordre- og kundemetafelter afhænger af, at disse metafelter findes på registreringen.

Liquid-filtre

Du kan bruge filtre til at formatere oplysningerne i din tilpassede Liquid-blok. For at anvende et filter skal du tilføje en lodret streg (pipe), |, og derefter filtret i Liquid-outputtet, som f.eks. {{ order.total_price | money }}.

Standard-Liquid-filtre fungerer også. Se referencevejledningen til filtre for at få flere oplysninger om Liquid-filtre.

Beskrivelse af filtre, der er tilgængelige for en tilpasset Liquid-blok
FilterEksempelBeskrivelse
money
{{ order.total_price | money }}
Formaterer et beløb i kvitteringens valuta.
date
{{ order.created_at | date: '%B %e, %Y' }}
Formaterer en dato eller et klokkeslæt.
percent
{{ tax_line.rate | percent }}
Formaterer et decimaltal som en procentdel, f.eks. 0,2 som 20 %.
t
{{ 'receipt.total' | t }}
Returnerer en oversat label.
barcode
{{ order.barcode_content | barcode }}
Gengiver en stregkode.
qrcode
{{ order.qr_code_content | qrcode }}
Gengiver en QR-kode.

Eksempler på tilpassede Liquid-blokke

Følgende eksempler tilføjer indhold, som ikke findes på en standardskabelon til trykte kvitteringer.

For at tilføje ordrebemærkningen, når der findes en, skal du bruge følgende Liquid:

{% if order.note %}<p>Note: {{ order.note }}</p>{% endif %}

For at tilføje SKU'en ud for hver vare skal du bruge følgende Liquid:

{% for item in order.line_items %}
  <p>{{ item.name }} — {{ item.sku }} ×{{ item.quantity }}</p>
{% endfor %}

For at tilføje en egenskab for varelinje, f.eks. en gravering, skal du bruge 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 at tilføje et produktmetafelt, f.eks. vaskeanvisninger, skal du bruge 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 at tilføje et kundemetafelt skal du bruge følgende Liquid:

{% for m in order.customer.metafields %}
  {% if m.key == 'loyalty_tier' %}<p>Loyalty tier: {{ m.value }}</p>{% endif %}
{% endfor %}

For at tilføje en QR-kode, som linker til ordren, skal du bruge følgende Liquid:

{{ order.qr_code_content | qrcode }}