پرنٹ شدہ رسیدوں کے لیے حسب ضرورت Liquid بلاکس
آپ پرنٹ شدہ رسید کے ہیڈر یا فوٹر میں اپنا مواد شامل کرنے کے لیے حسب ضرورت Liquid بلاک استعمال کر سکتے ہیں، جیسے کہ آرڈر کی تفصیلات، کسٹمر کی معلومات، پروڈکٹ کی خصوصیات، میٹافیلڈز اور بارکوڈز۔
حسب ضرورت Liquid بلاکس مکمل شدہ آن لائن اور Point of Sale آرڈرز کے لیے پرنٹ شدہ رسیدوں پر رینڈر ہوتے ہیں۔ وہ ان آرڈرز کے لیے رینڈر نہیں ہوتے جو آف لائن چیک آؤٹ استعمال کرتے ہیں۔
آپ اپنے Shopify ایڈمن میں موجود رسید کے بصری ایڈیٹر سے حسب ضرورت Liquid بلاک شامل کر سکتے ہیں۔ جب رسید پرنٹ کی جاتی ہے تو آپ جن اقدار کا حوالہ دیتے ہیں انہیں رسید کے ڈیٹا سے حاصل کیا جاتا ہے۔ مثال کے طور پر، درج ذیل 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
آپ اپنے مواد کی ساخت بنانے کے لیے حسب ضرورت Liquid بلاک میں بنیادی HTML استعمال کر سکتے ہیں، جیسے کہ <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 | شپنگ ایڈریس۔ ایڈریس کی پراپرٹیز address object میں درج ہوتی ہیں۔ |
customer | کسٹمر کی تفصیلات، جو customer object میں درج ہوتی ہیں۔ |
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 | لائن آئٹم کی پراپرٹیز، جنہیں key کے ذریعے ایکسیس کیا جاتا ہے۔ |
product_metafields | پروڈکٹ میٹافیلڈز، جنہیں key کے ذریعے ایکسیس کیا جاتا ہے۔ |
variant_metafields | ویریئنٹ میٹافیلڈز، جنہیں key کے ذریعے ایکسیس کیا جاتا ہے۔ |
ٹرانزیکشن آبجیکٹ
اس میں موجود ہر پیمنٹ ( order.transactions ) درج ذیل پراپرٹیز پر مشتمل ہوتی ہے۔ آرڈر پر خرچ کیا گیا اسٹور کریڈٹ ایک پیمنٹ کے طور پر درج ہوتا ہے جس کا نام Store credit ہوتا ہے۔ کسٹمر کے اسٹور کریڈٹ کا بقیہ بیلنس متغیر (variable) کے طور پر دستیاب نہیں ہے۔
| پراپرٹی | تفصیل |
|---|---|
name | پیمنٹ کا نام، جیسے کہ Visa، کیش، یا اسٹور کریڈٹ۔ |
payment_type | پیمنٹ کی قسم کا کوڈ۔ |
amount |
رقم۔ money فلٹر کے ساتھ فارمیٹ کریں۔
|
kind | ٹرانزیکشن کی قسم۔ |
status | ٹرانزیکشن کا اسٹیٹس۔ |
credit_card_number | ماسک شدہ کارڈ نمبر، جب قابل اطلاق ہو۔ |
created_at | ٹرانزیکشن کا ٹائم اسٹامپ۔ |
additional_details | اضافی پیمنٹ کی تفصیل کی لائنز۔ |
Shop آبجیکٹ
یہ ( shop ) آبجیکٹ اسٹور کی تفصیلات پر مشتمل ہوتا ہے۔
| پراپرٹی | تفصیل |
|---|---|
name | اسٹور کا نام۔ |
domain | اسٹور کی ڈومین۔ |
currency | اسٹور کی کرنسی۔ |
id | اسٹور کی 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 کوڈ میں انکوڈ کرنے کے لیے مواد۔ |
میٹا فیلڈ اور پراپرٹی
میٹا فیلڈ اور لائن آئٹم کی پراپرٹی دو شکلوں میں آتی ہیں۔
لائن آئٹم میٹا فیلڈ اور پراپرٹی کے ساتھ کی (key) منسلک ہوتی ہے۔ کسی ویلیو تک براہ راست اس کی کی کے ذریعے رسائی حاصل کریں:
{{ item.product_metafields.care_instructions }}
{{ item.custom_attributes.engraving }}آرڈر اور کسٹمر کی میٹا فیلڈ فہرست کی صورت میں ہوتی ہیں۔ ان پر لوپ (loop) کریں:
{% 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 }}