Προσαρμοσμένα μπλοκ Liquid για εκτυπωμένες αποδείξεις

Μπορείτε να χρησιμοποιήσετε ένα προσαρμοσμένο μπλοκ Liquid για να προσθέσετε το δικό σας περιεχόμενο στην επικεφαλίδα ή στο υποσέλιδο μιας εκτυπωμένης απόδειξης, όπως λεπτομέρειες παραγγελίας, πληροφορίες πελατών, ιδιότητες προϊόντων, μετα-πεδία και γραμμωτούς κώδικες.

Τα προσαρμοσμένα μπλοκ Liquid αποδίδονται σε εκτυπωμένες αποδείξεις για ολοκληρωμένες διαδικτυακές παραγγελίες και παραγγελίες Point of Sale. Δεν αποδίδονται για παραγγελίες που χρησιμοποιούν ολοκλήρωση αγοράς εκτός σύνδεσης.

Μπορείτε να προσθέσετε ένα προσαρμοσμένο μπλοκ Liquid από το πρόγραμμα οπτικής επεξεργασίας απόδειξης στον διαχειριστή Shopify. Οι τιμές στις οποίες αναφέρεστε αντλούνται από τα δεδομένα της απόδειξης κατά την εκτύπωσή της. Για παράδειγμα, ο ακόλουθος κώδικας Liquid προσθέτει τη σημείωση παραγγελίας στην απόδειξη όταν υπάρχει μια σημείωση:

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

Κανόνες σύνταξης Liquid

Ελέγξτε τους ακόλουθους κανόνες σύνταξης προτού δημιουργήσετε ένα προσαρμοσμένο μπλοκ Liquid:

  • Τα ονόματα των μεταβλητών χρησιμοποιούν πεζά γράμματα και κάτω παύλες, μια μορφή γνωστή ως snake_case. Για παράδειγμα, χρησιμοποιήστε τα order.total_price, order.customer.display_name και order.line_items.
  • Οι νομισματικές αξίες είναι απλοί αριθμοί. Μορφοποιήστε τες με το φίλτρο money, όπως το {{ order.total_price | money }}.
  • Προστατεύστε τις προαιρετικές τιμές με μια δήλωση if, ώστε να μην εκτυπώνετε μια κενή γραμμή, όπως {% if order.customer.email %}{{ order.customer.email }}{% endif %}.
  • Πραγματοποιήστε επανάληψη σε λίστες με μια δήλωση for, όπως {% for item in order.line_items %} ... {% endfor %}.
  • Ορισμένες ετικέτες Liquid δεν υποστηρίζονται. Δεν μπορείτε να χρησιμοποιήσετε τα assign, capture, include, render, raw, increment ή decrement. Εάν το μπλοκ σας χρησιμοποιεί μια μη υποστηριζόμενη ετικέτα, τότε η απόδειξή σας δεν θα αποθηκευτεί και θα εμφανιστεί ένα σφάλμα.
  • Ένα προσαρμοσμένο μπλοκ Liquid μπορεί να περιέχει έως και 50 KB κώδικα.

HTML και CSS

Μπορείτε να χρησιμοποιήσετε βασική HTML σε ένα προσαρμοσμένο μπλοκ Liquid για να δομήσετε το περιεχόμενό σας, όπως <p>, <br>, <strong>, <em>, επικεφαλίδες, λίστες και συνδέσμους. Το περιεχόμενό σας χρησιμοποιεί τις υπάρχουσες γραμματοσειρές και μεγέθη της απόδειξης.

Δεν μπορείτε να χρησιμοποιήσετε CSS για να αλλάξετε την εμφάνιση μιας απόδειξης. Τα μπλοκ <style> και τα χαρακτηριστικά style δεν υποστηρίζονται, προκειμένου να διασφαλιστεί ότι ένα προσαρμοσμένο μπλοκ Liquid δεν μπορεί να αλλάξει το στυλ ή να αποκρύψει περιεχόμενο σε άλλο σημείο της απόδειξης. Οι ετικέτες <script>, οι χειριστές συμβάντων όπως το onclick και οι σύνδεσμοι javascript: επίσης δεν υποστηρίζονται.

Αν το μπλοκ σας περιέχει μη υποστηριζόμενη HTML, τότε η απόδειξή σας δεν θα αποθηκευτεί και θα δείτε ένα σφάλμα. Αφαιρέστε τη μη υποστηριζόμενη HTML και, στη συνέχεια, αποθηκεύστε ξανά.

Μεταβλητές και αντικείμενα

Ένα προσαρμοσμένο μπλοκ Liquid μπορεί να αναφέρεται στα ακόλουθα αντικείμενα και μεταβλητές. Ορισμένες τιμές δεν περιλαμβάνονται στην προεπιλεγμένη απόδειξη, επομένως ένα προσαρμοσμένο μπλοκ Liquid είναι ένας τρόπος για να τις προσθέσετε.

Μεταβλητές ανώτατου επιπέδου

Οι ακόλουθες μεταβλητές ανώτατου επιπέδου είναι διαθέσιμες σε ένα προσαρμοσμένο μπλοκ Liquid.

Περιγραφή των μεταβλητών ανώτατου επιπέδου που είναι διαθέσιμες σε ένα προσαρμοσμένο μπλοκ Liquid
ΜεταβλητήΠεριγραφή
order
Η παραγγελία που εκτυπώνεται.
shop
Το κατάστημα.
location
Η τοποθεσία λιανικού εμπορίου.
settings
Οι ρυθμίσεις εμφάνισης της απόδειξης, οι οποίες είναι οι εναλλαγές που έχουν διαμορφωθεί στο πρόγραμμα επεξεργασίας.
purchased_gift_cards
Οι δωροκάρτες που αγοράστηκαν σε αυτήν την παραγγελία.
staff_member_description
Το μέλος του προσωπικού στο οποίο αποδίδεται η παραγγελία, όταν είναι ενεργοποιημένη η εμφάνιση προσωπικού.
locale
Οι τοπικές ρυθμίσεις της απόδειξης, όπως το en.
is_pickup
Εάν η παραγγελία είναι παραγγελία για παραλαβή.
pickup_location
Η τοποθεσία παραλαβής, όταν ισχύει.

Αντικείμενο παραγγελίας

Περιγραφή του αντικειμένου παραγγελίας
ΙδιότηταΠεριγραφή
name
Το όνομα της παραγγελίας, όπως το #1001.
created_at
Η χρονοσήμανση της παραγγελίας. Χρησιμοποιήστε τη με το φίλτρο date.
note
Η σημείωση της παραγγελίας.
subtotal_price
Το μερικό σύνολο. Μορφοποιήστε το με το φίλτρο money.
total_price
Το σύνολο. Μορφοποιήστε το με το φίλτρο money.
shipping_price
Η χρέωση αποστολής. Μορφοποιήστε τη με το φίλτρο money.
total_tip_received
Το σύνολο φιλοδωρήματος. Μορφοποιήστε το με το φίλτρο money.
balance_due
Το ποσό που εξακολουθεί να οφείλεται. Μορφοποιήστε το με το φίλτρο money.
change_due
Τα ρέστα που δόθηκαν. Μορφοποιήστε τα με το φίλτρο money.
taxes_included
Εάν ο φόρος συμπεριλαμβάνεται στις τιμές.
receipt_number
Ο αριθμός της απόδειξης.
barcode_content
Το περιεχόμενο προς κωδικοποίηση σε έναν γραμμωτό κώδικα.
qr_code_content
Το περιεχόμενο προς κωδικοποίηση σε έναν κώδικα QR. Χρησιμοποιήστε το με το φίλτρο qrcode.
line_items
Τα αγορασμένα κομμάτια. Οι ιδιότητες κάθε κομματιού αναφέρονται στο αντικείμενο στοιχείου γραμμής της παραγγελίας.
transactions
Οι πληρωμές. Οι ιδιότητες κάθε πληρωμής αναφέρονται στο αντικείμενο συναλλαγής.
discounts
Οι εκπτώσεις σε επίπεδο παραγγελίας. Οι ιδιότητες κάθε έκπτωσης αναφέρονται στο αντικείμενο έκπτωσης.
tax_lines
Οι γραμμές φόρου. Οι ιδιότητες κάθε γραμμής φόρου αναφέρονται στο αντικείμενο γραμμής φόρου.
refunds
Οι επιστροφές χρημάτων στην παραγγελία.
shipping_address
Η διεύθυνση αποστολής. Οι ιδιότητες διεύθυνσης αναφέρονται στο αντικείμενο διεύθυνσης.
customer
Οι λεπτομέρειες του πελάτη, οι οποίες αναφέρονται στο αντικείμενο πελάτη.
metafields
Τα μετα-πεδία παραγγελίας.

Αντικείμενο πελάτη

Το αντικείμενο order.customer περιέχει τις λεπτομέρειες του πελάτη.

Περιγραφή του αντικειμένου πελάτη
ΙδιότηταΠεριγραφή
display_name
Το εμφανιζόμενο όνομα του πελάτη.
first_name
Το όνομα του πελάτη.
last_name
Το επώνυμο του πελάτη.
email
Η διεύθυνση email του πελάτη.
phone
Ο αριθμός τηλεφώνου του πελάτη.
default_address
Η προεπιλεγμένη διεύθυνση του πελάτη.
metafields
Τα μετα-πεδία πελάτη.

Αντικείμενο στοιχείου γραμμής παραγγελίας

Κάθε στοιχείο στο order.line_items περιέχει τις ακόλουθες ιδιότητες.

Περιγραφή του αντικειμένου στοιχείου γραμμής παραγγελίας
ΙδιότηταΠεριγραφή
name
Το όνομα του προϊόντος ή της γραμμής.
variant_title
Η παραλλαγή, όπως Μεγάλο / Μπλε.
sku
Ο αριθ. SKU.
vendor
Ο αποκλειστικός πωλητής.
quantity
Η ποσότητα.
price
Η τιμή μονάδας. Μορφοποιήστε με το φίλτρο money.
total_price
Το σύνολο γραμμής. Μορφοποιήστε με το φίλτρο money.
discounted_total_price
Το σύνολο γραμμής μετά τις εκπτώσεις. Μορφοποιήστε με το φίλτρο money.
discounted_unit_price
Η τιμή ανά μονάδα μετά τις εκπτώσεις. Μορφοποιήστε με το φίλτρο money.
discounts
Οι εκπτώσεις που εφαρμόζονται στη γραμμή.
selling_plan_name
Το όνομα της συνδρομής ή του σχεδίου πώλησης, εάν υπάρχει.
staff_member_description
Το μέλος του προσωπικού που αποδίδεται στη γραμμή.
custom_attributes
Οι ιδιότητες του στοιχείου γραμμής, προσβάσιμες μέσω κλειδιού.
product_metafields
Τα μετα-πεδία προϊόντος, προσβάσιμα μέσω κλειδιού.
variant_metafields
Τα μετα-πεδία παραλλαγής, προσβάσιμα μέσω κλειδιού.

Αντικείμενο συναλλαγής

Κάθε πληρωμή στο order.transactions περιέχει τις ακόλουθες ιδιότητες. Το πιστωτικό ποσό καταστήματος που δαπανήθηκε στην παραγγελία αναφέρεται ως πληρωμή με το όνομα Πιστωτικό ποσό καταστήματος. Το υπολειπόμενο υπόλοιπο του πιστωτικού ποσού καταστήματος του πελάτη δεν είναι διαθέσιμο ως μεταβλητή.

Περιγραφή του αντικειμένου συναλλαγής
ΙδιότηταΠεριγραφή
name
Το όνομα της πληρωμής, όπως Visa, μετρητά ή πιστωτικό ποσό καταστήματος.
payment_type
Ο κωδικός τύπου πληρωμής.
amount
Το ποσό. Μορφοποιήστε με το φίλτρο money.
kind
Το είδος της συναλλαγής.
status
Η κατάσταση της συναλλαγής.
credit_card_number
Ο αριθμός της κάρτας με απόκρυψη, όπου ισχύει.
created_at
Η χρονοσήμανση της συναλλαγής.
additional_details
Επιπλέον γραμμές λεπτομερειών πληρωμής.

Αντικείμενο καταστήματος

Το αντικείμενο shop αντικείμενο περιέχει τις λεπτομέρειες του καταστήματος.

Περιγραφή του αντικειμένου καταστήματος
ΙδιότηταΠεριγραφή
name
Το όνομα καταστήματος.
domain
Το domain του καταστήματος.
currency
Το νόμισμα καταστήματος.
id
Το αναγνωριστικό του καταστήματος.

Αντικείμενο τοποθεσίας

Το αντικείμενο location αντικείμενο περιέχει τις λεπτομέρειες της τοποθεσίας λιανικής.

Περιγραφή του αντικειμένου τοποθεσίας
ΙδιότηταΠεριγραφή
name
Το όνομα της τοποθεσίας.
address1
Η πρώτη γραμμή της διεύθυνσης.
address2
Η δεύτερη γραμμή της διεύθυνσης.
city
Η πόλη.
province
Η επαρχία ή η πολιτεία.
province_code
Ο κωδικός επαρχίας ή πολιτείας.
zip
Ο ΤΚ ή ο ταχυδρομικός κώδικας.
country
Η χώρα.
phone
Ο αριθμός τηλεφώνου.
metafields
Τα μετα-πεδία τοποθεσίας.

Αντικείμενο διεύθυνσης

Μια διεύθυνση, όπως η order.shipping_address ή η order.customer.default_address, περιέχει τις ακόλουθες ιδιότητες.

Περιγραφή του αντικειμένου διεύθυνσης
ΙδιότηταΠεριγραφή
company
Το όνομα της εταιρείας.
name
Το όνομα του παραλήπτη.
address1
Η πρώτη γραμμή της διεύθυνσης.
address2
Η δεύτερη γραμμή της διεύθυνσης.
city
Η πόλη.
province
Η επαρχία ή η πολιτεία.
province_code
Ο κωδικός επαρχίας ή πολιτείας.
zip
Ο ΤΚ ή ο ταχυδρομικός κώδικας.
country
Η χώρα.
country_code
Ο κωδικός χώρας.
phone
Ο αριθμός τηλεφώνου.

Αντικείμενο έκπτωσης

Κάθε έκπτωση στο order.discounts ή η item.discounts περιέχει τις ακόλουθες ιδιότητες.

Περιγραφή του αντικειμένου έκπτωσης
ΙδιότηταΠεριγραφή
description
Η περιγραφή της έκπτωσης.
amount
Το ποσό της έκπτωσης. Μορφοποιήστε με το φίλτρο money.
percentage
Το ποσοστό της έκπτωσης.

Αντικείμενο γραμμής φόρου

Κάθε γραμμή φόρου στο order.tax_lines περιέχει τις ακόλουθες ιδιότητες.

Περιγραφή του αντικειμένου γραμμής φόρου
ΙδιότηταΠεριγραφή
title
Ο τίτλος του φόρου.
rate
Ο φορολογικός συντελεστής ως δεκαδικός αριθμός.
rate_percentage
Ο φορολογικός συντελεστής ως ποσοστό.
price
Το ποσό του φόρου. Μορφοποιήστε με το φίλτρο money.
taxable_amount
Το ποσό που υπόκειται σε φόρο. Μορφοποιήστε με το φίλτρο money.

Αντικείμενο δωροκάρτας

Κάθε δωροκάρτα στο purchased_gift_cards περιέχει τις ακόλουθες ιδιότητες.

Περιγραφή του αντικειμένου δωροκάρτας
ΙδιότηταΠεριγραφή
code
Ο κωδικός δωροκάρτας.
masked_code
Ο συγκαλυμμένος κωδικός δωροκάρτας.
balance
Το υπόλοιπο της δωροκάρτας. Μορφοποιήστε με το φίλτρο money.
created_at
Η χρονοσήμανση της δωροκάρτας.
qr_code_content
Το περιεχόμενο για κωδικοποίηση σε κώδικα QR.

Μετα-πεδία και ιδιότητες

Τα μετα-πεδία και οι ιδιότητες στοιχείων γραμμής έχουν δύο μορφές.

Τα μετα-πεδία και οι ιδιότητες στοιχείων γραμμής διαθέτουν κλειδιά. Αποκτήστε πρόσβαση σε μια τιμή απευθείας από το κλειδί της:

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

Τα μετα-πεδία παραγγελιών και πελατών είναι λίστες. Εκτελέστε βρόχο σε αυτά:

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

Τα κλειδιά κανονικοποιούνται σε μορφή snake_case. Η πρόσβαση σε ένα κλειδί όπως το Care Instructions ή το careInstructions γίνεται ως care_instructions. Να αναφέρεστε πάντα σε τιμές με κλειδιά χρησιμοποιώντας πεζά γράμματα και κάτω παύλες.

Η διαθεσιμότητα των μετα-πεδίων παραγγελιών και πελατών εξαρτάται από το αν υπάρχουν αυτά τα μετα-πεδία στην εγγραφή.

Φίλτρα Liquid

Μπορείτε να χρησιμοποιήσετε φίλτρα για να μορφοποιήσετε τις πληροφορίες στο προσαρμοσμένο μπλοκ Liquid. Για να εφαρμόσετε ένα φίλτρο, προσθέστε τον χαρακτήρα της κάθετης γραμμής, |, και στη συνέχεια το φίλτρο μέσα στην έξοδο Liquid, όπως {{ order.total_price | money }}.

Λειτουργούν και τα τυπικά φίλτρα Liquid. Για να μάθετε περισσότερα σχετικά με τα φίλτρα Liquid, ανατρέξτε στην ενότητα Αναφορά φίλτρων.

Περιγραφή των διαθέσιμων φίλτρων σε ένα προσαρμοσμένο μπλοκ Liquid
ΦίλτροΠαράδειγμαΠεριγραφή
money
{{ order.total_price | money }}
Μορφοποιεί ένα ποσό στο νόμισμα της απόδειξης.
date
{{ order.created_at | date: '%B %e, %Y' }}
Μορφοποιεί μια ημερομηνία ή ώρα.
percent
{{ tax_line.rate | percent }}
Μορφοποιεί έναν δεκαδικό αριθμό ως ποσοστό, π.χ. το 0,2 σε 20%.
t
{{ 'receipt.total' | t }}
Επιστρέφει μια μεταφρασμένη ετικέτα.
barcode
{{ order.barcode_content | barcode }}
Αποδίδει έναν γραμμωτό κώδικα.
qrcode
{{ order.qr_code_content | qrcode }}
Αποδίδει έναν κώδικα QR.

Παραδείγματα προσαρμοσμένων μπλοκ Liquid

Τα παρακάτω παραδείγματα προσθέτουν περιεχόμενο που δεν περιλαμβάνεται σε ένα προεπιλεγμένο πρότυπο εκτυπωμένης απόδειξης.

Για να προσθέσετε τη σημείωση παραγγελίας εφόσον υπάρχει, χρησιμοποιήστε το εξής στοιχείο Liquid:

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

Για να προσθέσετε το SKU δίπλα σε κάθε κομμάτι, χρησιμοποιήστε το εξής στοιχείο Liquid:

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

Για να προσθέσετε μια ιδιότητα στοιχείου γραμμής, όπως μια χάραξη, χρησιμοποιήστε το εξής στοιχείο Liquid:

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

Για να προσθέσετε ένα μετα-πεδίο προϊόντος, όπως τις οδηγίες φροντίδας, χρησιμοποιήστε το εξής στοιχείο Liquid:

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

Για να προσθέσετε ένα μετα-πεδίο πελάτη, χρησιμοποιήστε το εξής στοιχείο Liquid:

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

Για να προσθέσετε έναν κώδικα QR που παραπέμπει στην παραγγελία, χρησιμοποιήστε το εξής στοιχείο Liquid:

{{ order.qr_code_content | qrcode }}