استكشاف أخطاء قوالب تطبيق Order Printer المستوردة وإصلاحها

عندما تقوم بـ ترحيل قوالبك من تطبيق Order Printer القديم إلى تطبيق Shopify Order Printer الجديد، يتم تحديث متغيرات Liquid لضمان التوافق مع التطبيق الجديد. وفي حالات نادرة، قد تحتاج إلى استكشاف أخطاء قوالبك المستوردة وإصلاحها.

إذا كانت قوالبك المستوردة لا تطبع بشكل صحيح، فقد تحتاج إلى تعديل كود القالب يدويًا في تطبيق Shopify Order Printer الجديد. راجع الأسباب الأكثر شيوعًا التالية لعدم استيراد القوالب بشكل صحيح:

  • تتضمن القوالب CSS مخصصًا
  • القوالب تحتوي على حقول وصفية
  • قد لا تُحدّث متغيرات Liquid بشكل صحيح

في هذه الصفحة، يمكنك العثور على معلومات مفصلة حول كيفية استكشاف الأخطاء المحتملة وإصلاحها عند استيراد قوالبك المخصصة إلى تطبيق Shopify Order Printer الجديد.

تحديث تخصيصات تصميم CSS الشائعة

إذا كانت القوالب التي تنقلها تتضمن CSS مخصصًا، فقد تحتاج إلى تحديث كود CSS يدويًا في قوالبك لعرض عناصر التصميم بشكل صحيح، مثل الصور، أو الخطوط المخصصة، أو الشعارات، أو الرموز الشريطية.

تحديث متغيرات الحقول الوصفية

للوصول إلى حقل وصفي، يجب عليك تحديد مساحة الاسم الخاصة بالحقل الوصفي، ولا تحتاج إلى إضافة .value إلى المتغير. تعرّف على المزيد حول تعريفات الحقول الوصفية.

على سبيل المثال، بدلاً من المتغير product.metafields.custom.manufacturerid.value، استخدم المتغير product.metafields.custom.manufacturerid.

لتحديد قيم مساحة الاسم لكل حقل وصفي، ارجع إلى صفحة البيانات المخصصة في مسؤول Shopify. يتم تجميع تعريفات الحقول الوصفية حسب الكائنات التي تشير إليها، مثل المنتجات، أو المتغيرات، أو الطلبات.

تحديث متغيرات Liquid الشائعة

في معظم الحالات، تُحدّث متغيرات Liquid الخاصة بك تلقائيًا أثناء عملية الترحيل. ومع ذلك، إذا لم يتم ترحيل قوالبك بشكل صحيح وكنت تستخدم أيًا من المتغيرات المدرجة في هذا القسم، فقد تحتاج إلى استبدال المتغيرات القديمة بمتغيرات جديدة يدويًا. يستخدم تطبيق Shopify Order Printer متغيرات مختلفة عن تطبيق Order Printer القديم.

على سبيل المثال، إذا كنت تستخدم المتغير date، فستحتاج إلى استبداله بالمتغير created_at.

متغيرات الطلب

تُستخدم متغيرات الطلب بشكل مختلف في تطبيق Shopify Order Printer. للوصول إلى متغيرات الطلب، يجب إضافة البادئة order.. على سبيل المثال، للوصول إلى المتغير billing_address، ستحتاج إلى استخدام order.billing_address.

يمكن الوصول إلى متغيرات الطلب الشائعة الاستخدام التالية دون البادئة order.:

  • line_items
  • tax_lines
  • fulfillments
  • transactions
  • refunds
  • shipping_methods
  • customer

على سبيل المثال، للوصول إلى متغير عناصر السطر، يمكنك استخدام line_items أو order.line_items.

يمكنك أيضًا إنشاء أسماء مستعارة خاصة بك للقالب الخاص بك. على سبيل المثال، يمكنك استخدام صيغة Liquid {% assign fulfillments_count = order.fulfillments | size %}، ثم الإشارة إليها باستخدام {{ fulfillments_count }} في التعليمات البرمجية الخاصة بك.

متغير الطلب
متغير في تطبيق Order Printer القديممتغير في تطبيق Shopify Order Printer الجديد
line_items
  • عناصر السطر المستردة غير مشمولة في متغير line_items . راجع التفاصيل التالية:
    • يمكنك الوصول إلى عناصر السطر المستردة باستخدام المتغير refunds.<each>.refund_line_items. راجع المثال التالي.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • يمكنك ربط عناصر السطر المستردة بمجموعة line_items إذا أردت ذلك. راجع المثال التالي.
      {% assign refunded_line_items = order.refunds | map: "refund_line_items" | map: "line_item" %} {% assign line_items_with_refunded = order.line_items | concat: refunded_line_items | uniq %}
    • يجب عليك التأكد من تضمين عامل التصفية | uniq لتجنب تكرار عناصر السطر المستردة.
  • عناصر سطر الإكراميات غير مشمولة في متغير line_items . راجع التفاصيل التالية:
    • يمكنك الوصول إلى عناصر سطر الإكراميات باستخدام المتغير tip_line_items.
    • يمكنك ربط tip_line_items بمجموعة line_items إذا أردت ذلك. راجع المثال التالي.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • لمحاكاة مجموعة line_items في تطبيق Order Printer القديم، يمكنك استخدام رمز المثال التالي.
    {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %} {% assign all_line_items = order.line_items | concat: refunded_line_items | concat: order.tip_line_items | uniq %} {% for line_item in all_line_items %} ... {% endfor %}
credit_cardاستخدم تفاصيل الدفع بناءً على كل معاملة من الطلب باستخدام المتغير transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateاستخدم المتغير created_at. استخدم عامل التصفية date لتنسيق الطابع الزمني، على سبيل المثال باستخدام {{ order.created_at | date: "%B %e, %Y" }}.
gatewaysunique_gateways أو transactions.<each>.gateway
order_currencycurrency
processed_atاستخدم المتغير created_at. وهو يحمل قيمة order.processed_at من GraphQL API، ويعني الوقت الفعلي لمعالجة الطلب، بدلاً من وقت استيراد الطلب إلى Shopify. وهو نفس order.processed_at من تطبيق Order Printer القديم. يمكنك استخدام عامل التصفية date لتنسيق الطابع الزمني، على سبيل المثال باستخدام {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

قم بتصفية order.transactions لمعرفة حالة kind في صيغة Liquid باستخدام where، أو باستخدام التكرار الحلقي وif بداخله. راجع الأمثلة التالية.

{% assign sale_transactions = order.transactions | where: "kind", "sale" %} {% assign capture_transactions = order.transactions | where: "kind", "capture" %} {% for transaction in transactions %} {% if transaction.kind == "sale" or transaction.kind == "capture" %} Transaction ID: {{ transaction.id }} Kind: {{ transaction.kind }} Amount: {{ transaction.amount | money }} {% endif %} {% endfor %}

{% assign sale_transactions = order.transactions | where: "kind", "sale" %} {% assign capture_transactions = order.transactions | where: "kind", "capture" %} {% assign payment_transactions = sale_transactions | concat: capture_transactions %}

refund_transactionsقم بالتصفية عبر order.transactions بحثًا عن الحالة kind في بنية Liquid باستخدام where، أو باستخدام التكرار و if بداخله، كما في المثال التالي.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. يمكنك تعريفه كمتغير في بداية القالب والإشارة إليه عدة مرات، كما في المثال التالي.
{% if tax_lines.size > 0 %} {% assign show_line_item_taxes = true %} {% else %} {% assign show_line_item_taxes = false %} {% endif %}
total_taxtax_price
total_paidnet_payment

متغيرات عنصر السطر

متغير عنصر السطر
متغير في تطبيق Order Printer القديممتغير في تطبيق Shopify Order Printer الجديد
fulfillable_quantityquantity - successfully_fulfilled_quantity
fulfilledquantity == successfully_fulfilled_quantity
nametitle
product_titleproduct.title
unit_discountquantity ? line_level_total_discount / quantity : 0
variant_titlevariant.title
weightgrams

متغيرات تنفيذ الطلب

متغير تنفيذ الطلب
متغير في تطبيق Order Printer القديممتغير في تطبيق Shopify Order Printer الجديد
datecreated_at

متغيرات المتجر

متغير المتجر
متغير في تطبيق Order Printer القديممتغير في تطبيق Shopify Order Printer الجديد
owneraccount_owner.name
addressshop.address.address1
address2shop.address.address2
cityshop.address.city
countryshop.address.country
country_codeshop.address.country_code
provinceshop.address.province
province_codeshop.address.province_code
zipshop.address.zip

متغيرات العنوان

متغير العنوان
متغير في تطبيق Order Printer القديممتغير في تطبيق Shopify Order Printer الجديد
latitudeإذا تمت الإشارة إلى المتغير address من السمة location، فإن خطي العرض والطول سيكونان متاحين في الكائن location نفسه.
longitudeإذا تمت الإشارة إلى المتغير address من السمة location، فإن خطي العرض والطول سيكونان متاحين في الكائن location نفسه.

متغيرات عملية الاسترداد

متغير عملية الاسترداد
متغير في تطبيق Order Printer القديممتغير في تطبيق Shopify Order Printer الجديد
dateاستخدم المتغير created_at. استخدم عامل التصفية date لتنسيق الطابع الزمني، على سبيل المثال باستخدام {{ order.created_at | date: "%B %e, %Y" }}.

متغيرات ShippingLine

متغير ShippingLine
متغير في تطبيق Order Printer القديممتغير في تطبيق Shopify Order Printer الجديد
current_priceprice
priceoriginal_price

متغيرات المعاملات

تمت إزالة متغيرات المعاملات التالية ولا يمكن استبدالها في تطبيق Order Printer من Shopify:

  • authorization
  • message
  • test

متغيرات المتغير

متغير المتغير
متغير في تطبيق Order Printer القديممتغير في تطبيق Shopify Order Printer الجديد
gramsweight

متغيرات الحقول الوصفية

للوصول إلى حقل وصفي، يجب تحديد مساحة الاسم (Namespace) الخاصة بالحقل الوصفي، ولا تحتاج إلى إضافة .value إلى المتغير. تعرّف على المزيد حول تعريفات الحقول الوصفية.

على سبيل المثال، بدلاً من المتغير product.metafields.manufacturerid.value، استخدم المتغير product.metafields.custom.manufacturerid.

لتحديد قيم مساحة الاسم (Namespace) لكل حقل وصفي، راجع صفحة البيانات المخصصة في مسؤول Shopify. يتم تجميع تعريفات الحقول الوصفية بناءً على الكائنات التي تشير إليها، مثل المنتجات أو المتغيرات أو الطلبات.

تعيين عامل التصفية

تعيين عامل التصفية
اسم عامل التصفية في تطبيق Order Printer القديماسم عامل التصفية في تطبيق Order Printer الجديد من Shopify
files_urlfile_url
payment_method وpayment_methodsاستخدم الحقل transaction.gateway_display_name في معاملات الطلب. لم تعد طرق الدفع مصنفة إلى أنواع معينة، مثل {بطاقة الائتمان، بطاقة الخصم، التحويل المصرفي}. كان تطبيق Order Printer القديم يربط فقط مجموعة فرعية صغيرة من بوابات الدفع التي تعمل حاليًا بهذه الفئات. يتولى مزودو بوابات الدفع إدارة أنواع طرق الدفع التي يستخدمها العملاء من جانبهم.