Προσαρμοσμένα μπλοκ 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.
| Μεταβλητή | Περιγραφή |
|---|---|
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 του πελάτη. | |
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, ανατρέξτε στην ενότητα Αναφορά φίλτρων.
| Φίλτρο | Παράδειγμα | Περιγραφή |
|---|---|---|
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 }}