پرنٹ شدہ رسیدوں کے لیے حسب ضرورت 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 بلاک میں دستیاب ہیں۔

حسب ضرورت 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
کسٹمر کا آخری نام۔
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
لائن آئٹم کی پراپرٹیز، جنہیں 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 ) آبجیکٹ اسٹور کی تفصیلات پر مشتمل ہوتا ہے۔

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 فلٹر کے بارے میں مزید جاننے کے لیے، فلٹر کے حوالے سے رجوع کریں۔

کسٹم 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 }}