كتل 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 المخصصة.

وصف متغيرات المستوى الأعلى المتوفّرة لكتلة 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
نطاق المتجر.
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، راجع مرجع عوامل التصفية.

وصف لعوامل التصفية المتاحة لكتلة 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 }}