Aangepaste Liquid-blokken voor geprinte bonnen
Je kunt een aangepast Liquid-blok gebruiken om je eigen content toe te voegen aan de koptekst of voettekst van een geprinte bon, zoals bestelgegevens, klantgegevens, producteigenschappen, metavelden en barcodes.
Aangepaste Liquid-blokken worden weergegeven op geprinte bonnen voor voltooide online en Point of Sale-bestellingen. Ze worden niet weergegeven bij bestellingen met een offline checkout.
Je kunt een aangepast Liquid-blok toevoegen vanuit de visuele editor voor bonnen in je Shopify-beheercentrum. De waarden waarnaar je verwijst, worden uit de gegevens van de bon gehaald wanneer de bon wordt geprint. De volgende Liquid-code voegt bijvoorbeeld de bestelnotitie toe aan de bon wanneer er een notitie is:
{% if order.note %}
<p>Order note: {{ order.note }}</p>
{% endif %}Op deze pagina
Liquid-syntaxisregels
Neem de volgende syntaxisregels door voordat je een aangepast Liquid-blok bouwt:
- Namen van variabelen gebruiken kleine letters en underscores (lage streepjes), een format dat bekendstaat als snake_case. Gebruik bijvoorbeeld
order.total_price,order.customer.display_nameenorder.line_items. - Geldwaarden zijn gewone getallen. Maak ze op met het
money-filter, zoals{{ order.total_price | money }}. - Ondervang optionele waarden met een
if-statement, zodat je geen lege regel print, zoals{% if order.customer.email %}{{ order.customer.email }}{% endif %}. - Doorloop lijsten met een
for-statement, zoals{% for item in order.line_items %} ... {% endfor %}. - Sommige Liquid-tags worden niet ondersteund. Je kunt
assign,capture,include,render,raw,incrementofdecrementniet gebruiken. Als je blok een niet-ondersteunde tag gebruikt, wordt je bon niet opgeslagen en krijg je een foutmelding te zien. - Een aangepast Liquid-blok kan maximaal 50 kB aan code bevatten.
HTML en CSS
Je kunt basis-HTML gebruiken in een aangepast Liquid-blok om je content te structureren, zoals <p>, <br>, <strong>, <em>, koppen, lijsten en links. Je content gebruikt de bestaande lettertypen en groottes van de bon.
Je kunt geen CSS gebruiken om de weergave van een bon te wijzigen. <style>-blokken en style-attributen worden niet ondersteund, zodat een aangepast Liquid-blok content elders op de bon niet opnieuw kan opmaken of kan verbergen. <script>-tags, eventhandlers zoals onclick, en javascript:-links worden ook niet ondersteund.
Als je blok niet-ondersteunde HTML bevat, wordt je bon niet opgeslagen en krijg je een foutmelding te zien. Verwijder de niet-ondersteunde HTML en sla vervolgens opnieuw op.
Variabelen en objecten
Een aangepast Liquid-blok kan verwijzen naar de volgende objecten en variabelen. Bepaalde waarden staan niet op de standaardbon, dus een aangepast Liquid-blok is een manier om deze toe te voegen.
Variabelen op het hoogste niveau
De volgende variabelen op het hoogste niveau zijn beschikbaar in een aangepast Liquid-blok.
| Variabele | Beschrijving |
|---|---|
order | De bestelling die wordt geprint. |
shop | De winkel. |
location | De winkellocatie. |
settings | De weergave-instellingen van de bon. Dit zijn de schakelaars die in de editor zijn geconfigureerd. |
purchased_gift_cards | De cadeaubonnen die bij deze bestelling zijn gekocht. |
staff_member_description | De toegewezen medewerker (wanneer de weergave van medewerkers is ingeschakeld). |
locale | De landinstellingen van de bon, zoals en. |
is_pickup | Of de bestelling een afhaalbestelling is. |
pickup_location | De afhaallocatie (indien van toepassing). |
Order-object
| Eigenschap | Beschrijving |
|---|---|
name | De naam van de bestelling, zoals #1001. |
created_at |
Het tijdstempel van de bestelling. Gebruik in combinatie met het date-filter.
|
note | De bestelnotitie. |
subtotal_price |
Het subtotaal. Maak op met het money-filter.
|
total_price |
Het totaal. Maak op met het money-filter.
|
shipping_price |
De in rekening gebrachte verzendkosten. Maak op met het money-filter.
|
total_tip_received |
Het totale fooibedrag. Maak op met het money-filter.
|
balance_due |
Het nog openstaande bedrag. Maak op met het money-filter.
|
change_due |
Het teruggegeven wisselgeld. Maak op met het money-filter.
|
taxes_included | Of de prijzen inclusief belasting zijn. |
receipt_number | Het bonnummer. |
barcode_content | De in een barcode te coderen content. |
qr_code_content |
De in een QR-code te coderen content. Gebruik met het qrcode-filter.
|
line_items | De gekochte artikelen. De eigenschappen van elk artikel staan vermeld in het orderregel-object. |
transactions | De betalingen. De eigenschappen van elke betaling staan vermeld in het transactie-object. |
discounts | De kortingen op bestelniveau. De eigenschappen van elke korting staan vermeld in het korting-object. |
tax_lines | De belastingregels. De eigenschappen van elke belastingregel staan vermeld in het belastingregel-object. |
refunds | De terugbetalingen voor de bestelling. |
shipping_address | Het bezorgadres. Adreseigenschappen staan vermeld in het adresobject. |
customer | De gegevens van de klant, vermeld in het klantobject. |
metafields | De metavelden van de bestelling. |
Klantobject
Het order.customer -object bevat de gegevens van de klant.
| Eigenschap | Beschrijving |
|---|---|
display_name | De weergavenaam van de klant. |
first_name | De voornaam van de klant. |
last_name | De achternaam van de klant. |
| Het e-mailadres van de klant. | |
phone | Het telefoonnummer van de klant. |
default_address | Het standaardadres van de klant. |
metafields | De metavelden van de klant. |
Orderregelobject
Elk artikel in order.line_items bevat de volgende eigenschappen.
| Eigenschap | Beschrijving |
|---|---|
name | De product- of regelnaam. |
variant_title | De variant, zoals Groot / blauw. |
sku | De SKU. |
vendor | De verkoper. |
quantity | Het aantal. |
price |
De eenheidsprijs. Maak op met het filter money.
|
total_price |
Het regeltotaal. Maak op met het filter money.
|
discounted_total_price |
Het regeltotaal na kortingen. Maak op met het filter money.
|
discounted_unit_price |
De prijs per eenheid na kortingen. Maak op met het filter money.
|
discounts | De kortingen die op de regel zijn toegepast. |
selling_plan_name | De abonnements- of verkoopplannaam, indien van toepassing. |
staff_member_description | De medewerker die aan de regel is toegewezen. |
custom_attributes | De orderregeleigenschappen, toegankelijk via sleutel. |
product_metafields | De productmetavelden, toegankelijk via sleutel. |
variant_metafields | De variantmetavelden, toegankelijk via sleutel. |
Transactieobject
Elke betaling in order.transactions bevat de volgende eigenschappen. Winkeltegoed dat aan de bestelling wordt besteed, wordt vermeld als een betaling genaamd Winkeltegoed. Het resterende saldo van het winkeltegoed van de klant is niet beschikbaar als een variabele.
| Eigenschap | Beschrijving |
|---|---|
name | De betalingsnaam, zoals Visa, contant geld of winkeltegoed. |
payment_type | De code van het betalingstype. |
amount |
Het bedrag. Maak op met het filter money.
|
kind | Het soort transactie. |
status | De transactiestatus. |
credit_card_number | Het gemaskeerde kaartnummer, indien van toepassing. |
created_at | Het tijdstempel van de transactie. |
additional_details | Extra regels voor betalingsgegevens. |
Shop-object
Het shop -object bevat de gegevens van de winkel.
| Eigenschap | Beschrijving |
|---|---|
name | De winkelnaam. |
domain | Het winkeldomein. |
currency | De winkelvaluta. |
id | De winkel-ID. |
Locatieobject
Het location -object bevat de gegevens van de winkellocatie.
| Eigenschap | Beschrijving |
|---|---|
name | De locatienaam. |
address1 | De eerste adresregel. |
address2 | De tweede adresregel. |
city | De plaats. |
province | De provincie of staat. |
province_code | De code van de provincie of staat. |
zip | De postcode. |
country | Het land. |
phone | Het telefoonnummer. |
metafields | De locatiemetavelden. |
Adresobject
Een adres, zoals order.shipping_address of order.customer.default_address, bevat de volgende eigenschappen.
| Eigenschap | Beschrijving |
|---|---|
company | De bedrijfsnaam. |
name | De naam van de ontvanger. |
address1 | De eerste adresregel. |
address2 | De tweede adresregel. |
city | De plaats. |
province | De provincie of staat. |
province_code | De code van de provincie of staat. |
zip | De postcode. |
country | Het land. |
country_code | De landcode. |
phone | Het telefoonnummer. |
Kortingsobject
Elke korting in order.discounts of item.discounts bevat de volgende eigenschappen.
| Eigenschap | Beschrijving |
|---|---|
description | De kortingsbeschrijving. |
amount | Het kortingsbedrag. Maak op met het filter money. |
percentage | Het kortingspercentage. |
Belastingregelobject
Elke belastingregel in order.tax_lines bevat de volgende eigenschappen.
| Eigenschap | Beschrijving |
|---|---|
title | De belastingtitel. |
rate | Het belastingtarief als decimaal. |
rate_percentage | Het belastingtarief als percentage. |
price | Het belastingbedrag. Maak op met het filter money. |
taxable_amount | Het belastbare bedrag. Maak op met het filter money. |
Cadeaubonobject
Elke cadeaubon in purchased_gift_cards bevat de volgende eigenschappen.
| Eigenschap | Beschrijving |
|---|---|
code | De cadeauboncode. |
masked_code | De gemaskeerde cadeauboncode. |
balance | Het cadeaubonsaldo. Maak op met het money-filter. |
created_at | De tijdstempel van de cadeaubon. |
qr_code_content | De te coderen content in een QR-code. |
Metavelden en eigenschappen
Metavelden en orderregeleigenschappen zijn er in twee vormen.
Metavelden en eigenschappen van orderregels zijn gekoppeld aan een sleutel. Roep een waarde rechtstreeks aan via de bijbehorende sleutel:
{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}Bestellings- en klantmetavelden zijn lijsten. Doorloop deze:
{% for m in order.metafields %}
{{ m.namespace }}.{{ m.key }}: {{ m.value }}
{% endfor %}Sleutels worden genormaliseerd naar snake_case. Een sleutel als Care Instructions of careInstructions roep je aan als care_instructions. Verwijs altijd naar gekoppelde waarden met kleine letters en liggende streepjes (underscores).
De beschikbaarheid van bestellings- en klantmetavelden is afhankelijk van de aanwezigheid van deze metavelden in de record.
Liquid-filters
Je kunt filters gebruiken om de informatie in je aangepaste Liquid-blok op te maken. Als je een filter wilt toepassen, voeg je een sluisteken (|) toe en plaats je vervolgens het filter in de Liquid-uitvoer, zoals {{ order.total_price | money }}.
Standaard Liquid-filters werken ook. Ga voor meer informatie over Liquid-filters naar de Filters-referentie.
| Filter | Voorbeeld | Beschrijving |
|---|---|---|
money | {{ order.total_price | money }} | Maakt een bedrag op in de valuta van de bon. |
date | {{ order.created_at | date: '%B %e, %Y' }} | Maakt een datum of tijd op. |
percent | {{ tax_line.rate | percent }} | Maakt een decimaal getal op als een percentage, zoals 0,2 als 20%. |
t | {{ 'receipt.total' | t }} | Retourneert een vertaald label. |
barcode | {{ order.barcode_content | barcode }} | Geeft een barcode weer. |
qrcode | {{ order.qr_code_content | qrcode }} | Geeft een QR-code weer. |
Voorbeelden van aangepaste Liquid-blokken
In de volgende voorbeelden wordt content toegevoegd die niet op een standaardtemplate voor een afgedrukte bon staat.
Gebruik de volgende Liquid-code om de bestellingsnotitie toe te voegen (indien aanwezig):
{% if order.note %}<p>Note: {{ order.note }}</p>{% endif %}Gebruik de volgende Liquid-code om de SKU toe te voegen naast elk artikel:
{% for item in order.line_items %}
<p>{{ item.name }} — {{ item.sku }} ×{{ item.quantity }}</p>
{% endfor %}Gebruik de volgende Liquid-code om een orderregeleigenschap, zoals een inscriptie, toe te voegen:
{% for item in order.line_items %}
{% if item.custom_attributes.engraving %}
<p>{{ item.name }} — Engraving: {{ item.custom_attributes.engraving }}</p>
{% endif %}
{% endfor %}Gebruik de volgende Liquid-code om een productmetaveld, zoals wasvoorschriften, toe te voegen:
{% for item in order.line_items %}
{% if item.product_metafields.care_instructions %}
<p>{{ item.name }}: {{ item.product_metafields.care_instructions }}</p>
{% endif %}
{% endfor %}Gebruik de volgende Liquid-code om een klantmetaveld toe te voegen:
{% for m in order.customer.metafields %}
{% if m.key == 'loyalty_tier' %}<p>Loyalty tier: {{ m.value }}</p>{% endif %}
{% endfor %}Gebruik de volgende Liquid-code om een QR-code toe te voegen die naar de bestelling linkt:
{{ order.qr_code_content | qrcode }}