Anpassade Liquid-block för utskrivna kvitton

Du kan använda ett anpassat Liquid-block för att lägga till ditt eget innehåll i sidhuvudet eller sidfoten på ett utskrivet kvitto, till exempel orderuppgifter, kundinformation, produktegenskaper, metafält och streckkoder.

Anpassade Liquid-block renderas på utskrivna kvitton för slutförda online- och kassasystemordrar. De renderas inte för ordrar som använder en offline-kassa.

Du kan lägga till ett anpassat Liquid-block från den visuella kvittoredigeraren i din Shopify admin. Värdena du hänvisar till hämtas från kvittots uppgifter när kvittot skrivs ut. Följande Liquid-kod lägger till exempel till orderanteckningen på kvittot när det finns en anteckning:

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

Regler för Liquid-syntax

Läs igenom följande syntaxregler innan du bygger ett anpassat Liquid-block:

  • Variabelnamn använder gemener och understreck, ett format som kallas snake_case. Använd till exempel order.total_price, order.customer.display_name och order.line_items.
  • Pengavärden är vanliga siffror. Formatera dem med filtret money, till exempel {{ order.total_price | money }}.
  • Skydda valfria värden med ett if-uttryck så att du inte skriver ut en tom rad, till exempel {% if order.customer.email %}{{ order.customer.email }}{% endif %}.
  • Loopa över listor med ett for-uttryck, till exempel {% for item in order.line_items %} ... {% endfor %}.
  • Vissa Liquid-taggar stöds inte. Du kan inte använda assign, capture, include, render, raw, increment eller decrement. Om ditt block använder en tagg som inte stöds kommer ditt kvitto inte att sparas och du får ett felmeddelande.
  • Ett anpassat Liquid-block kan innehålla upp till 50 kb kod.

HTML och CSS

Du kan använda grundläggande HTML i ett anpassat Liquid-block för att strukturera ditt innehåll, till exempel <p>, <br>, <strong>, <em>, rubriker, listor och länkar. Ditt innehåll använder kvittots befintliga teckensnitt och storlekar.

Du kan inte använda CSS för att ändra hur ett kvitto ser ut. <style>-block och style-attribut stöds inte, för att förhindra att ett anpassat Liquid-block formaterar om eller döljer innehåll någon annanstans på kvittot. <script>-taggar, händelsehanterare som onclick och javascript:-länkar stöds inte heller.

Om ditt block innehåller HTML som inte stöds kommer ditt kvitto inte att sparas och du får ett felmeddelande. Ta bort den HTML som inte stöds och spara sedan igen.

Variabler och objekt

Ett anpassat Liquid-block kan referera till följande objekt och variabler. Vissa värden finns inte på standardkvittot, så ett anpassat Liquid-block är ett sätt att lägga till dem.

Toppnivåvariabler

Följande toppnivåvariabler är tillgängliga i ett anpassat Liquid-block.

Beskrivning av toppnivåvariabler som är tillgängliga för ett anpassat Liquid-block
VariabelBeskrivning
order
Ordern som skrivs ut.
shop
Butiken.
location
Detaljhandelsplatsen.
settings
Kvittots skärminställningar, vilket är de reglage som konfigurerats i redigeraren.
purchased_gift_cards
Presentkorten som köpts på denna order.
staff_member_description
Den tilldelade personalmedlemmen, när visning av personal är aktiverad.
locale
Kvittots plats, till exempel en.
is_pickup
Huruvida ordern är en order för hämtning.
pickup_location
Upphämtningsplatsen, i tillämpliga fall.

Orderobjekt

Beskrivning av orderobjektet
EgenskapBeskrivning
name
Ordernamnet, till exempel #1001.
created_at
Orderns tidsstämpel. Använd med filtret date.
note
Orderanteckningen.
subtotal_price
Delsumman. Formatera med filtret money.
total_price
Totalsumman. Formatera med filtret money.
shipping_price
Debiterad frakt. Formatera med filtret money.
total_tip_received
Total dricks. Formatera med filtret money.
balance_due
Kvarstående belopp. Formatera med filtret money.
change_due
Utlämnad växel. Formatera med filtret money.
taxes_included
Huruvida skatt är inräknat i priserna.
receipt_number
Kvittonumret.
barcode_content
Innehållet som ska kodas till en streckkod.
qr_code_content
Innehållet som ska kodas till en QR-kod. Använd med filtret qrcode.
line_items
De köpta artiklarna. Varje artikels egenskaper listas i objektet orderpost.
transactions
Betalningarna. Varje betalnings egenskaper listas i transaktionsobjektet.
discounts
Rabatter på ordernivå. Varje rabatts egenskaper listas i rabattobjektet.
tax_lines
Skatteraderna. Varje skatterads egenskaper listas i skatteradsobjektet.
refunds
Återbetalningarna på ordern.
shipping_address
Leveransadressen. Adressens egenskaper listas i adressobjektet.
customer
Kundens uppgifter, listade i kundobjektet.
metafields
Orderns metafält.

Kundobjekt

Objektet order.customer innehåller kundens uppgifter.

Beskrivning av kundobjektet
EgenskapBeskrivning
display_name
Kundens visningsnamn.
first_name
Kundens förnamn.
last_name
Kundens efternamn.
email
Kundens e-postadress.
phone
Kundens telefonnummer.
default_address
Kundens standardadress.
metafields
Kundens metafält.

Orderpostobjekt

Varje artikel i order.line_items innehåller följande egenskaper.

Beskrivning av orderpostobjektet
EgenskapBeskrivning
name
Produktens eller postens namn.
variant_title
Varianten, till exempel Large / Blå.
sku
Lagerhållningsenheten (SKU).
vendor
Säljaren.
quantity
Kvantiteten.
price
Enhetspriset. Formatera med filtret money.
total_price
Postens totalbelopp. Formatera med filtret money.
discounted_total_price
Postens totalbelopp efter rabatter. Formatera med filtret money.
discounted_unit_price
Priset per enhet efter rabatter. Formatera med filtret money.
discounts
Rabatter som tillämpats på posten.
selling_plan_name
Namnet på prenumerationen eller försäljningsplanen, om tillämpligt.
staff_member_description
Personalmedlemmen som tilldelats posten.
custom_attributes
Orderpostens egenskaper, åtkomst via nyckel.
product_metafields
Produktens metafält, åtkomst via nyckel.
variant_metafields
Variantens metafält, åtkomst via nyckel.

Transaktionsobjekt

Varje betalning i order.transactions innehåller följande egenskaper. Värdecheckar som spenderas på ordern listas som en betalning med namnet Värdecheck. Kundens återstående saldo för värdecheckar är inte tillgängligt som en variabel.

Beskrivning av transaktionsobjektet
EgenskapBeskrivning
name
Betalningens namn, såsom Visa, kontanter eller värdecheck.
payment_type
Betalningstypens kod.
amount
Beloppet. Formatera med filtret money.
kind
Transaktionstypen.
status
Transaktionsstatusen.
credit_card_number
Det maskerade kortnumret, när det är tillämpligt.
created_at
Transaktionens tidsstämpel.
additional_details
Extra rader med betalningsuppgifter.

Butiksobjekt

Objektet shop innehåller butikens uppgifter.

Beskrivning av butiksobjektet
EgenskapBeskrivning
name
Butiksnamnet.
domain
Butikens domän.
currency
Butiksvalutan.
id
Butikens ID.

Platsobjekt

Objektet location innehåller försäljningsställets uppgifter.

Beskrivning av platsobjektet
EgenskapBeskrivning
name
Platsens namn.
address1
Den första adressraden.
address2
Den andra adressraden.
city
Staden.
province
Län eller delstat.
province_code
Koden för län eller delstat.
zip
Postnumret.
country
Landet.
phone
Telefonnumret.
metafields
Platsens metafält.

Adressobjekt

En adress, såsom order.shipping_address eller order.customer.default_address, innehåller följande egenskaper.

Beskrivning av adressobjektet
EgenskapBeskrivning
company
Företagsnamnet.
name
Mottagarens namn.
address1
Den första adressraden.
address2
Den andra adressraden.
city
Staden.
province
Län eller delstat.
province_code
Koden för län eller delstat.
zip
Postnumret.
country
Landet.
country_code
Landskoden.
phone
Telefonnumret.

Rabattobjekt

Varje rabatt i order.discounts eller item.discounts innehåller följande egenskaper.

Beskrivning av rabattobjektet
EgenskapBeskrivning
description
Rabattens beskrivning.
amount
Rabattbeloppet. Formatera med filtret money.
percentage
Rabattprocenten.

Skatteradsobjekt

Varje skatterad i order.tax_lines innehåller följande egenskaper.

Beskrivning av skatteradsobjektet
EgenskapBeskrivning
title
Skattens namn.
rate
Skattesatsen i decimalform.
rate_percentage
Skattesatsen i procent.
price
Skattebeloppet. Formatera med filtret money.
taxable_amount
Det skattepliktiga beloppet. Formatera med filtret money.

Presentkortsobjekt

Varje presentkort i purchased_gift_cards innehåller följande egenskaper.

Beskrivning av presentkortsobjektet
EgenskapBeskrivning
code
Presentkortets kod.
masked_code
Presentkortets dolda kod.
balance
Presentkortets saldo. Formatera med filtret money.
created_at
Presentkortets tidsstämpel.
qr_code_content
Innehållet som ska kodas i en QR-kod.

Metafält och egenskaper

Metafält och egenskaper för poster finns i två former.

Metafält och egenskaper för poster är nyckelbaserade. Få åtkomst till ett värde direkt via dess nyckel:

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

Order- och kundmetafält är listor. Loopa igenom dem:

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

Nycklar normaliseras till snake_case. En nyckel som Care Instructions eller careInstructions nås som care_instructions. Referera alltid till nyckelbaserade värden med gemener och understreck.

Tillgängligheten för order- och kundmetafält beror på om dessa metafält finns i posten.

Liquid-filter

Du kan använda filter för att formatera informationen i ditt anpassade Liquid-block. För att tillämpa ett filter lägger du till ett vertikalstreck, |, och sedan filtret inuti Liquid-utdata, som exempelvis {{ order.total_price | money }}.

Standardfilter för Liquid fungerar också. Mer information om Liquid-filter finns i Referens för filter.

Beskrivning av filter som är tillgängliga för ett anpassat Liquid-block
FilterExempelBeskrivning
money
{{ order.total_price | money }}
Formaterar ett belopp i kvittots valuta.
date
{{ order.created_at | date: '%B %e, %Y' }}
Formaterar ett datum eller en tid.
percent
{{ tax_line.rate | percent }}
Formaterar en decimal till procent, till exempel 0,2 till 20 %.
t
{{ 'receipt.total' | t }}
Returnerar en översatt etikett.
barcode
{{ order.barcode_content | barcode }}
Renderar en streckkod.
qrcode
{{ order.qr_code_content | qrcode }}
Renderar en QR-kod.

Exempel på anpassade Liquid-block

Följande exempel lägger till innehåll som inte finns i en standardmall för utskrivna kvitton.

Använd följande Liquid för att lägga till orderanteckningen om det finns en:

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

Använd följande Liquid för att lägga till SKU bredvid varje artikel:

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

Använd följande Liquid för att lägga till en egenskap för post, som till exempel en gravyr:

{% for item in order.line_items %}
  {% if item.custom_attributes.engraving %}
    <p>{{ item.name }} — Engraving: {{ item.custom_attributes.engraving }}</p>
  {% endif %}
{% endfor %}

Använd följande Liquid för att lägga till ett produktmetafält, som till exempel skötselråd:

{% for item in order.line_items %}
  {% if item.product_metafields.care_instructions %}
    <p>{{ item.name }}: {{ item.product_metafields.care_instructions }}</p>
  {% endif %}
{% endfor %}

Använd följande Liquid för att lägga till ett kundmetafält:

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

Använd följande Liquid för att lägga till en QR-kod som länkar till ordern:

{{ order.qr_code_content | qrcode }}