كتل 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 كيلوبايت من الرموز.
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 | اسم العائلة للعميل. |
| عنوان البريد الإلكتروني للعميل. | |
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 | نطاق المتجر. |
currency | عملة المتجر. |
id | معرّف المتجر. |
كائن الموقع
يحتوي الكائن location هو كائن يحتوي على تفاصيل موقع البيع بالتجزئة.
| الخاصية | الوصف |
|---|---|
name | اسم الموقع. |
address1 | السطر الأول من العنوان. |
address2 | السطر الثاني من العنوان. |
city | المدينة. |
province | المقاطعة أو الولاية. |
province_code | رمز المقاطعة أو الولاية. |
zip | رمز ZIP أو الرمز البريدي. |
country | البلد. |
phone | رقم الهاتف. |
metafields | الحقول الوصفية للموقع. |
كائن العنوان
يحتوي العنوان، مثل order.shipping_address أو order.customer.default_address، على الخصائص التالية.
| الخاصية | الوصف |
|---|---|
company | اسم الشركة. |
name | اسم المستلم. |
address1 | السطر الأول من العنوان. |
address2 | السطر الثاني من العنوان. |
city | المدينة. |
province | المقاطعة أو الولاية. |
province_code | رمز المقاطعة أو الولاية. |
zip | رمز 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 }}