Vlastné bloky Liquid pre tlačené potvrdenia

Vlastný blok Liquid môžete použiť na pridanie vlastného obsahu do hlavičky alebo päty tlačeného potvrdenia, napríklad detailov objednávky, informácií o zákazníkovi, vlastností produktu, metapolí a čiarových kódov.

Vlastné bloky Liquid sa zobrazujú na tlačených potvrdeniach dokončených online objednávok a objednávok na predajnom mieste. Nezobrazujú sa pri objednávkach, v ktorých sa použila offline pokladňa.

Z vizuálneho editora potvrdení u administrátora Shopify môžete pridať vlastný blok Liquid. Odkazované hodnoty sa načítajú z údajov potvrdenia pri jeho vytlačení. Napríklad nasledujúci kód Liquid pridá do potvrdenia poznámku k objednávke, ak existuje:

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

Pravidlá syntaxe jazyka Liquid

Pred vytvorením vlastného bloku Liquid si prečítajte nasledujúce pravidlá syntaxe:

  • Názvy premenných používajú malé písmená a podčiarkovníky, tento formát sa nazýva snake_case. Použite napríklad order.total_price, order.customer.display_name a order.line_items.
  • Peňažné hodnoty sú obyčajné čísla. Formátujte ich filtrom money, napríklad {{ order.total_price | money }}.
  • Voliteľné hodnoty chráňte príkazom if, aby sa nevytlačil prázdny riadok, napríklad {% if order.customer.email %}{{ order.customer.email }}{% endif %}.
  • Zoznamy prechádzajte cyklom s príkazom for, napríklad {% for item in order.line_items %} ... {% endfor %}.
  • Niektoré značky Liquid nie sú podporované. Nemôžete použiť assign, capture, include, render, raw, increment ani decrement. Ak blok používa nepodporovanú značku, potvrdenie sa neuloží a zobrazí sa chyba.
  • Vlastný blok Liquid môže obsahovať kód do veľkosti 50 kB.

HTML a CSS

Na štruktúrovanie obsahu môžete vo vlastnom bloku Liquid použiť základné HTML, napríklad <p>, <br>, <strong>, <em>, nadpisy, zoznamy a odkazy. Obsah používa existujúce druhy a veľkosti písma potvrdenia.

Na zmenu vzhľadu potvrdenia nemôžete použiť CSS. Bloky <style> a atribúty style nie sú podporované, aby vlastný blok Liquid nemohol inak formátovať ani skryť iný obsah na potvrdení. Podporované nie sú ani značky <script>, obslužné programy udalostí ako onclick a odkazy javascript:.

Ak blok obsahuje nepodporované HTML, potvrdenie sa neuloží a zobrazí sa chyba. Odstráňte nepodporované HTML a skúste to uložiť znova.

Premenné a objekty

Vo vlastnom bloku Liquid sa môžete odkazovať na nasledujúce objekty a premenné. Niektoré hodnoty na predvolenom potvrdení chýbajú, takže ich môžete pridať práve pomocou vlastného bloku Liquid.

Premenné najvyššej úrovne

Vo vlastnom bloku Liquid sú dostupné nasledujúce premenné najvyššej úrovne.

Opis premenných najvyššej úrovne dostupných vo vlastnom bloku Liquid
PremennáOpis
order
Objednávka, ktorá sa tlačí.
shop
Obchod.
location
Maloobchodné miesto.
settings
Nastavenia zobrazenia potvrdenia – prepínače nakonfigurované v editore.
purchased_gift_cards
Darčekové karty zakúpené v tejto objednávke.
staff_member_description
Priradený člen personálu, ak je zapnuté zobrazenie personálu.
locale
Jazyk a región potvrdenia, napríklad en.
is_pickup
Či ide o objednávku na vyzdvihnutie.
pickup_location
Miesto vyzdvihnutia, ak sa uplatňuje.

Objekt objednávky

Opis objektu objednávky
VlastnosťOpis
name
Názov objednávky, napríklad #1001.
created_at
Časová pečiatka objednávky. Použite s filtrom date.
note
Poznámka k objednávke.
subtotal_price
Medzisúčet. Formátujte s filtrom money.
total_price
Celková suma. Formátujte s filtrom money.
shipping_price
Účtovaná doprava. Formátujte s filtrom money.
total_tip_received
Celkové prepitné. Formátujte s filtrom money.
balance_due
Stále dlžná suma. Formátujte s filtrom money.
change_due
Vydaný výdavok. Formátujte s filtrom money.
taxes_included
Či je daň zahrnutá v cenách.
receipt_number
Číslo potvrdenia.
barcode_content
Obsah určený na kódovanie do čiarového kódu.
qr_code_content
Obsah určený na kódovanie do QR kódu. Použite s filtrom qrcode.
line_items
Zakúpené položky. Vlastnosti každej položky sú uvedené v objekte samostatnej položky objednávky.
transactions
Platby. Vlastnosti každej platby sú uvedené v objekte transakcie.
discounts
Zľavy na úrovni objednávky. Vlastnosti každej zľavy sú uvedené v objekte zľavy.
tax_lines
Daňové riadky. Vlastnosti každého daňového riadka sú uvedené v objekte daňového riadka.
refunds
Vrátené peniaze k objednávke.
shipping_address
Dodacia adresa. Vlastnosti adresy sú uvedené v objekte adresy.
customer
Údaje o zákazníkovi, ktoré sú uvedené v objekte zákazníka.
metafields
Metapolia objednávky.

Objekt zákazníka

Objekt order.customer obsahuje údaje o zákazníkovi.

Opis objektu zákazníka
VlastnosťOpis
display_name
Zobrazované meno zákazníka.
first_name
Krstné meno zákazníka.
last_name
Priezvisko zákazníka.
email
E-mailová adresa zákazníka.
phone
Telefónne číslo zákazníka.
default_address
Predvolená adresa zákazníka.
metafields
Metapolia zákazníka.

Objekt samostatnej položky objednávky

Každá položka v order.line_items obsahuje nasledujúce vlastnosti.

Opis objektu samostatnej položky objednávky
VlastnosťOpis
name
Názov produktu alebo položky.
variant_title
Variant, napríklad Large / Blue.
sku
SKU.
vendor
Dodávateľ.
quantity
Množstvo.
price
Jednotková cena. Naformátujte pomocou filtra money.
total_price
Celková suma za položku. Naformátujte pomocou filtra money.
discounted_total_price
Celková suma za položku po zľavách. Naformátujte pomocou filtra money.
discounted_unit_price
Jednotková cena po zľavách. Naformátujte pomocou filtra money.
discounts
Zľavy uplatnené na položku.
selling_plan_name
Názov predplatného alebo plánu predaja, ak existuje.
staff_member_description
Člen personálu priradený k položke.
custom_attributes
Vlastnosti samostatnej položky, ku ktorým sa pristupuje pomocou kľúča.
product_metafields
Metapolia produktu, ku ktorým sa pristupuje pomocou kľúča.
variant_metafields
Metapolia variantu, ku ktorým sa pristupuje pomocou kľúča.

Objekt transakcie

Každá platba v order.transactions obsahuje nasledujúce vlastnosti. Kredit v obchode uplatnený na objednávku sa uvádza ako platba s názvom Kredit v obchode. Zostávajúci zostatok kreditu v obchode pre zákazníka nie je dostupný ako premenná.

Opis objektu transakcie
VlastnosťOpis
name
Názov platby, ako napríklad Visa, hotovosť alebo kredit v obchode.
payment_type
Kód typu platby.
amount
Suma. Naformátujte pomocou filtra money.
kind
Druh transakcie.
status
Stav transakcie.
credit_card_number
Maskované číslo karty, ak je k dispozícii.
created_at
Časová pečiatka transakcie.
additional_details
Dodatočné riadky s podrobnosťami o platbe.

Objekt obchodu

Objekt shop obsahuje údaje o obchode.

Opis objektu obchodu
VlastnosťOpis
name
Názov obchodu.
domain
Doména obchodu.
currency
Mena obchodu.
id
ID obchodu.

Objekt lokality

Objekt location obsahuje údaje o maloobchodnej lokalite.

Opis objektu lokality
VlastnosťOpis
name
Názov lokality.
address1
Prvý riadok adresy.
address2
Druhý riadok adresy.
city
Mesto.
province
Provincia alebo štát.
province_code
Kód provincie alebo štátu.
zip
PSČ.
country
Krajina.
phone
Telefónne číslo.
metafields
Metapolia lokality.

Objekt adresy

Adresa, napríklad order.shipping_address alebo order.customer.default_address, obsahuje nasledujúce vlastnosti.

Opis objektu adresy
VlastnosťOpis
company
Názov spoločnosti.
name
Meno príjemcu.
address1
Prvý riadok adresy.
address2
Druhý riadok adresy.
city
Mesto.
province
Provincia alebo štát.
province_code
Kód provincie alebo štátu.
zip
PSČ.
country
Krajina.
country_code
Kód krajiny.
phone
Telefónne číslo.

Objekt zľavy

Každá zľava v order.discounts alebo item.discounts obsahuje nasledujúce vlastnosti.

Opis objektu zľavy
VlastnosťOpis
description
Opis zľavy.
amount
Výška zľavy. Naformátujte pomocou filtra money.
percentage
Percento zľavy.

Objekt daňovej položky

Každá daňová položka v order.tax_lines obsahuje nasledujúce vlastnosti.

Opis objektu daňovej položky
VlastnosťOpis
title
Názov dane.
rate
Daňová sadzba vo forme desatinného čísla.
rate_percentage
Daňová sadzba vo forme percenta.
price
Suma dane. Naformátujte pomocou filtra money.
taxable_amount
Suma podliehajúca dani. Naformátujte pomocou filtra money.

Objekt darčekovej karty

Každá darčeková karta v purchased_gift_cards obsahuje nasledujúce vlastnosti.

Opis objektu darčekovej karty
VlastnosťOpis
code
Kód darčekovej karty.
masked_code
Maskovaný kód darčekovej karty.
balance
Zostatok na účte darčekovej karty. Formátujte pomocou filtra money.
created_at
Časová pečiatka darčekovej karty.
qr_code_content
Obsah na zakódovanie do QR kódu.

Metapolia a vlastnosti

Metapolia a vlastnosti samostatných položiek majú dve formy.

Metapolia a vlastnosti samostatných položiek majú kľúče. K hodnote získate prístup priamo pomocou jej kľúča:

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

Metapolia objednávok a zákazníkov sú zoznamy. Prechádzajte nimi v cykle:

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

Kľúče sú normalizované na formát snake_case. Ku kľúču ako Care Instructions alebo careInstructions sa pristupuje ako k care_instructions. Vždy odkazujte na hodnoty s kľúčmi s malými písmenami a podčiarkovníkmi.

Dostupnosť metapolí objednávky a zákazníka závisí od toho, či dané metapolia v zázname existujú.

Filtre Liquid

Na formátovanie informácií vo vlastnom bloku Liquid môžete použiť filtre. Ak chcete použiť filter, pridajte znak zvislej čiary | a potom zadajte filter v rámci výstupu Liquid, ako napríklad {{ order.total_price | money }}.

Fungujú aj štandardné filtre Liquid. Ďalšie informácie o filtroch Liquid nájdete v referenčnej príručke filtrov.

Opis filtrov dostupných pre vlastný blok Liquid
FilterPríkladOpis
money
{{ order.total_price | money }}
Formátuje sumu v mene potvrdenia.
date
{{ order.created_at | date: '%B %e, %Y' }}
Formátuje dátum alebo čas.
percent
{{ tax_line.rate | percent }}
Formátuje desatinné číslo ako percento, napríklad 0,2 ako 20 %.
t
{{ 'receipt.total' | t }}
Vráti preložený štítok.
barcode
{{ order.barcode_content | barcode }}
Vykreslí čiarový kód.
qrcode
{{ order.qr_code_content | qrcode }}
Vykreslí QR kód.

Príklady vlastných blokov Liquid

Nasledujúce príklady pridávajú obsah, ktorý sa v predvolenej šablóne vytlačeného potvrdenia nenachádza.

Ak chcete pridať poznámku k objednávke (ak existuje), použite nasledujúci kód Liquid:

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

Ak chcete pridať kód SKU ku každej položke, použite nasledujúci kód Liquid:

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

Ak chcete pridať vlastnosť samostatnej položky, napríklad gravírovanie, použite nasledujúci kód Liquid:

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

Ak chcete pridať metapole produktu, napríklad pokyny na ošetrovanie, použite nasledujúci kód Liquid:

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

Ak chcete pridať metapole zákazníka, použite nasledujúci kód Liquid:

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

Ak chcete pridať QR kód, ktorý odkazuje na objednávku, použite nasledujúci kód Liquid:

{{ order.qr_code_content | qrcode }}