Prilagođeni Liquid blokovi za ispisane račune

Prilagođeni Liquid blok možete upotrijebiti za dodavanje vlastitog sadržaja u zaglavlje ili podnožje ispisanog računa, kao što su informacije o narudžbi, informacije o korisniku, svojstva proizvoda, metapolja i crtični kodovi.

Prilagođeni Liquid blokovi prikazuju se na ispisanim računima za dovršene mrežne narudžbe i narudžbe na prodajnom mjestu. Ne prikazuju se za narudžbe kod kojih se upotrebljava izvanmrežno plaćanje.

Možete dodati prilagođeni Liquid blok u vizualnom uređivaču računa u administratorskom alatu za Shopify. Vrijednosti na koje se referirate povlače se iz podataka računa kada se račun ispiše. Na primjer, sljedeći kod na jeziku Liquid dodaje napomenu o narudžbi na račun kada ona postoji:

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

Pravila sintakse za Liquid

Prije izrade prilagođenog Liquid bloka pregledajte sljedeća pravila sintakse:

  • Nazivi varijabli sadrže mala slova i donje crte, a taj je format poznat pod nazivom „snake_case”. Na primjer, upotrijebite order.total_price, order.customer.display_name i order.line_items.
  • Novčane su vrijednosti obični brojevi. Formatirajte ih filtrom money, na primjer {{ order.total_price | money }}.
  • Zaštitite neobavezne vrijednosti izrazom if da se ne bi ispisao prazan redak, na primjer {% if order.customer.email %}{{ order.customer.email }}{% endif %}.
  • Kružite po popisima uz pomoć izraza for, na primjer {% for item in order.line_items %} ... {% endfor %}.
  • Neke oznake za Liquid nisu podržane. Ne možete upotrebljavati oznake assign, capture, include, render, raw, increment i decrement. Ako vaš blok upotrebljava nepodržanu oznaku, vaš se račun neće spremiti i prikazat će se pogreška.
  • Prilagođeni Liquid blok može sadržavati najviše 50 KB koda.

HTML i CSS

Za strukturiranje sadržaja u prilagođenom Liquid bloku možete upotrijebiti osnovni HTML, poput oznaka <p>, <br>, <strong> i <em> te naslova, popisa i poveznica. U vašem se sadržaju upotrebljavaju postojeći fontovi i veličine računa.

Ne možete upotrijebiti CSS za promjenu izgleda računa. Blokovi <style> i atributi style nisu podržani, stoga prilagođeni Liquid blok ne može promijeniti stil ni sakriti sadržaj na drugom mjestu na računu. Nisu podržane ni oznake <script>, obrađivači događaja kao što je onclick, kao ni poveznice javascript:.

Ako vaš blok sadrži nepodržani HTML, račun se neće spremiti i prikazat će se pogreška. Uklonite nepodržani HTML, a zatim ponovno spremite.

Varijable i objekti

Prilagođeni Liquid blok može se referirati na sljedeće objekte i varijable. Neke se vrijednosti ne nalaze na zadanom računu, a jedan od načina njihova dodavanja je prilagođeni Liquid blok.

Varijable na najvišoj razini

Sljedeće su varijable na najvišoj razini dostupne u prilagođenom Liquid bloku.

Opis varijabli na najvišoj razini dostupnih za prilagođeni Liquid blok
VarijablaOpis
order
Narudžba koja se ispisuje.
shop
Trgovina.
location
Maloprodajna lokacija.
settings
Postavke prikaza računa, što su zapravo preklopni gumbi konfigurirani u uređivaču.
purchased_gift_cards
Poklon kartice kupljene u sklopu ove narudžbe.
staff_member_description
Dodijeljeni član osoblja, kada je uključen prikaz osoblja.
locale
Regionalni parametri računa, na primjer hr.
is_pickup
Je li riječ o narudžbi za preuzimanje.
pickup_location
Lokacija preuzimanja, kada je primjenjivo.

Objekt narudžbe

Opis objekta narudžbe
SvojstvoOpis
name
Naziv narudžbe, na primjer #1001.
created_at
Vremenski žig narudžbe. Upotrebljavajte ga uz filtar date.
note
Napomena o narudžbi.
subtotal_price
Međuzbroj. Formatirajte ga filtrom money.
total_price
Ukupan iznos. Formatirajte ga filtrom money.
shipping_price
Naplaćena dostava. Formatirajte je filtrom money.
total_tip_received
Ukupan iznos napojnice. Formatirajte ga filtrom money.
balance_due
Iznos koji se još duguje. Formatirajte ga filtrom money.
change_due
Uzvraćeni ostatak novca. Formatirajte ga filtrom money.
taxes_included
Je li porez uključen u cijene.
receipt_number
Broj računa.
barcode_content
Sadržaj koji se treba kodirati u crtični kod.
qr_code_content
Sadržaj koji se treba kodirati u QR kod. Upotrebljavajte ga uz filtar qrcode.
line_items
Kupljene stavke. Svojstva svake stavke navedena su pod objektom linije artikla narudžbe.
transactions
Plaćanja. Svojstva svakog plaćanja navedena su pod objektom transakcije.
discounts
Popusti na razini narudžbe. Svojstva svakog popusta navedena su pod objektom popusta.
tax_lines
Porezne linije. Svojstva svake porezne linije navedena su pod objektom porezne linije.
refunds
Povrati novca za narudžbu.
shipping_address
Adresa za dostavu. Svojstva adrese navedena su u objektu adrese.
customer
Informacije o korisniku koje su navedene u objektu korisnika.
metafields
Metapolja narudžbe.

Objekt korisnika

Objekt order.customer sadrži informacije o korisniku.

Opis objekta korisnika
SvojstvoOpis
display_name
Ime korisnika za prikaz.
first_name
Ime korisnika.
last_name
Prezime korisnika.
email
E-adresa korisnika.
phone
Broj telefona korisnika.
default_address
Zadana adresa korisnika.
metafields
Metapolja korisnika.

Objekt linije artikla narudžbe

Svaka stavka u objektu order.line_items sadrži sljedeća svojstva.

Opis objekta linije artikla narudžbe
SvojstvoOpis
name
Naziv proizvoda ili linije artikla.
variant_title
Varijanta, primjerice Large / Blue.
sku
SKU.
vendor
Prodavatelj.
quantity
Količina.
price
Jedinična cijena. Formatirajte s pomoću filtra money.
total_price
Ukupni iznos linije artikla. Formatirajte s pomoću filtra money.
discounted_total_price
Ukupni iznos linije artikla nakon popusta. Formatirajte s pomoću filtra money.
discounted_unit_price
Jedinična cijena nakon popusta. Formatirajte s pomoću filtra money.
discounts
Popusti primijenjeni na liniju artikla.
selling_plan_name
Naziv pretplate ili plana prodaje, ako postoji.
staff_member_description
Član osoblja dodijeljen liniji artikla.
custom_attributes
Svojstva linije artikla kojima se pristupa prema ključu.
product_metafields
Metapolja proizvoda kojima se pristupa prema ključu.
variant_metafields
Metapolja varijante kojima se pristupa prema ključu.

Objekt transakcije

Svako plaćanje u objektu order.transactions sadrži sljedeća svojstva. Bon za trgovinu potrošen na narudžbu naveden je kao plaćanje pod nazivom Bon za trgovinu. Preostali saldo bona za trgovinu korisnika nije dostupan kao varijabla.

Opis objekta transakcije
SvojstvoOpis
name
Naziv plaćanja, poput Vise, gotovine ili bona za trgovinu.
payment_type
Kod vrste plaćanja.
amount
Iznos. Formatirajte s pomoću filtra money.
kind
Vrsta transakcije.
status
Status transakcije.
credit_card_number
Maskirani broj kartice, ako je primjenjivo.
created_at
Vremenski žig transakcije.
additional_details
Dodatne linije s informacijama o plaćanju.

Objekt trgovine

Objekt shop sadrži informacije o trgovini.

Opis objekta trgovine
SvojstvoOpis
name
Naziv trgovine.
domain
Domena trgovine.
currency
Valuta trgovine.
id
ID trgovine.

Objekt lokacije

Objekt location sadrži informacije o maloprodajnoj lokaciji.

Opis objekta lokacije
SvojstvoOpis
name
Naziv lokacije.
address1
Prva linija adrese.
address2
Druga linija adrese.
city
Grad.
province
Županija ili država.
province_code
Kod županije ili države.
zip
Poštanski broj.
country
Zemlja.
phone
Broj telefona.
metafields
Metapolja lokacije.

Objekt adrese

Adresa, kao što je order.shipping_address ili order.customer.default_address, sadrži sljedeća svojstva.

Opis objekta adrese
SvojstvoOpis
company
Naziv poduzeća.
name
Ime primatelja.
address1
Prva linija adrese.
address2
Druga linija adrese.
city
Grad.
province
Županija ili država.
province_code
Kod županije ili države.
zip
Poštanski broj.
country
Zemlja.
country_code
Kod zemlje.
phone
Broj telefona.

Objekt popusta

Svaki popust u objektu order.discounts ili item.discounts sadrži sljedeća svojstva.

Opis objekta popusta
SvojstvoOpis
description
Opis popusta.
amount
Iznos popusta. Formatirajte s pomoću filtra money.
percentage
Postotak popusta.

Objekt linije poreza

Svaka linija poreza u objektu order.tax_lines sadrži sljedeća svojstva.

Opis objekta linije poreza
SvojstvoOpis
title
Naziv poreza.
rate
Porezna stopa kao decimalni broj.
rate_percentage
Porezna stopa u postotku.
price
Iznos poreza. Formatirajte s pomoću filtra money.
taxable_amount
Iznos koji podliježe oporezivanju. Formatirajte s pomoću filtra money.

Objekt poklon kartice

Svaka poklon kartica u objektu purchased_gift_cards sadrži sljedeća svojstva.

Opis objekta poklon kartice
SvojstvoOpis
code
Kod poklon kartice.
masked_code
Maskirani kod poklon kartice.
balance
Saldo poklon kartice. Formatirajte pomoću filtra money.
created_at
Vremenski žig poklon kartice.
qr_code_content
Sadržaj za kodiranje u QR kod.

Metapolja i svojstva

Metapolja i svojstva linija artikala dolaze u dva oblika.

Metapolja i svojstva linija artikala koriste ključeve. Pristupite vrijednosti izravno po njezinom ključu:

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

Metapolja narudžbi i korisnika su popisi. Iterirajte kroz njih:

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

Ključevi se normaliziraju u oblik snake_case. Ključu kao što je Care Instructions ili careInstructions pristupa se kao care_instructions. Uvijek navodite vrijednosti s ključem malim slovima i donjim crtama.

Dostupnost metapolja narudžbi i korisnika ovisi o tome postoje li ta metapolja u zapisu.

Liquid filtri

Za formatiranje informacija u prilagođenom Liquid bloku možete upotrijebiti filtre. Da biste primijenili filtar, dodajte znak okomite crte, |, a zatim filtar unutar Liquid izlaza, kao što je {{ order.total_price | money }}.

Funkcioniraju i standardni Liquid filtri. Da biste saznali više o Liquid filtrima, pogledajte Referencu filtara.

Opis filtara dostupnih za prilagođeni Liquid blok
FiltarPrimjerOpis
money
{{ order.total_price | money }}
Formatira iznos u valuti računa.
date
{{ order.created_at | date: '%B %e, %Y' }}
Formatira datum ili vrijeme.
percent
{{ tax_line.rate | percent }}
Formatira decimalni broj kao postotak, primjerice 0.2 u 20 %.
t
{{ 'receipt.total' | t }}
Vraća prevedenu oznaku.
barcode
{{ order.barcode_content | barcode }}
Prikazuje crtični kod.
qrcode
{{ order.qr_code_content | qrcode }}
Prikazuje QR kod.

Primjeri prilagođenih Liquid blokova

Sljedeći primjeri dodaju sadržaj koji se ne nalazi u zadanom predlošku tiskanog računa.

Da biste dodali napomenu o narudžbi, kada ona postoji, upotrijebite sljedeći Liquid kod:

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

Da biste dodali SKU pored svake stavke, upotrijebite sljedeći Liquid kod:

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

Da biste dodali svojstvo linije artikla, kao što je gravura, upotrijebite sljedeći Liquid kod:

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

Da biste dodali metapolje proizvoda, kao što su upute za njegu, upotrijebite sljedeći Liquid kod:

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

Da biste dodali metapolje korisnika, upotrijebite sljedeći Liquid kod:

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

Da biste dodali QR kod koji vodi na narudžbu, upotrijebite sljedeći Liquid kod:

{{ order.qr_code_content | qrcode }}