Depanarea problemelor pentru șabloanele Order Printer importate

Când vă migrați șabloanele din aplicația veche Order Printer în noua aplicație Shopify Order Printer, variabilele Liquid sunt actualizate pentru a asigura compatibilitatea cu noua aplicație. În cazuri rare, este posibil să fie necesar să depanați șabloanele importate.

Dacă șabloanele importate nu se imprimă corect, atunci este posibil să fie necesar să editați manual codul șablonului în noua aplicație Shopify Order Printer. Examinați următoarele motive frecvente pentru care șabloanele ar putea să nu se importe corect:

  • Șabloanele includ CSS personalizat
  • Șabloanele conțin metacâmpuri
  • Variabilele Liquid s-ar putea să nu se actualizeze corect

Pe această pagină puteți găsi informații detaliate despre cum să depanați problemele potențiale la importarea șabloanelor personalizate în noua aplicație Shopify Order Printer.

Actualizarea personalizărilor de design CSS comune

Dacă șabloanele pe care le transferați includ CSS personalizat, atunci ar putea fi necesar să actualizați manual codul CSS din șabloanele dumneavoastră pentru a afișa corect elementele de design, cum ar fi imaginile, fonturile personalizate, siglele sau codurile de bare.

Actualizarea variabilelor metacâmp

Pentru a accesa un metacâmp, trebuie să specificați spațiul de nume al metacâmpului și nu este necesar să adăugați .value la variabilă. Aflați mai multe despre definițiile metacâmpurilor.

De exemplu, în loc de variabila product.metafields.custom.manufacturerid.value, utilizați variabilaproduct.metafields.custom.manufacturerid.

Pentru a identifica valorile spațiului de nume pentru fiecare metacâmp, consultați pagina Date personalizate din panoul de administrare Shopify. Definițiile metacâmpurilor sunt grupate după obiectele la care se referă, cum ar fi produsele, variantele sau comenzile.

Actualizarea variabilelor Liquid comune

În majoritatea cazurilor, variabilele dumneavoastră Liquid se actualizează automat în timpul procesului de migrare. Cu toate acestea, dacă șabloanele dumneavoastră nu migrează corect și utilizați oricare dintre variabilele enumerate în această secțiune, atunci ar putea fi necesar să înlocuiți manual variabilele vechi cu cele noi. Aplicația Shopify Order Printer utilizează variabile diferite față de vechea aplicație Order Printer.

De exemplu, dacă utilizați variabila date, atunci trebuie să o înlocuiți cu variabila created_at.

Variabile de comandă

Variabilele de comandă sunt utilizate diferit în aplicația Shopify Order Printer. Pentru a accesa variabilele de comandă, trebuie să adăugați prefixul order.. De exemplu, pentru a accesa variabila billing_address, trebuie să utilizați order.billing_address.

Următoarele variabile de comandă utilizate frecvent sunt accesibile fără prefixul order.:

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

De exemplu, dacă doriți să accesați variabila pentru rândurile comenzii, puteți utiliza line_items sau order.line_items.

De asemenea, puteți crea propriile aliasuri pentru șablonul dumneavoastră. De exemplu, puteți utiliza sintaxa Liquid {% assign fulfillments_count = order.fulfillments | size %} și apoi să o referențiați utilizând {{ fulfillments_count }} în codul dumneavoastră.

Variabilă de comandă
Variabilă în vechea aplicație Order PrinterVariabilă în noua aplicație Shopify Order Printer
line_items
  • Rânduri restituite nu sunt incluse în line_items variabilă. Consultați următoarele detalii:
    • Puteți accesa rândurile restituite folosind variabila refunds.<each>.refund_line_items. Consultați exemplul următor.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • Dacă doriți, puteți uni rândurile restituite la colecția line_items. Consultați exemplul următor.
      {% 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 %}
    • Trebuie să vă asigurați că includeți filtrul | uniq pentru a evita duplicarea rândurilor restituite.
  • Rânduri pentru bacșiș nu sunt incluse în line_items variabilă. Consultați următoarele detalii:
    • Puteți accesa rândurile pentru bacșiș utilizând variabila tip_line_items.
    • Dacă doriți, puteți uni tip_line_items la colecția line_items. Consultați exemplul următor.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Pentru a imita vechea colecție line_items din Order Printer, puteți utiliza următorul exemplu de cod.
    {% 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_cardUtilizați detaliile de plată pe baza fiecărei tranzacții din comandă cu variabila transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateUtilizați variabila created_at. Utilizați filtrul date pentru a formata marca de timp, de exemplu, cu {{ order.created_at | date: "%B %e, %Y" }}.
gatewaysunique_gateways sau transactions.<each>.gateway
order_currencycurrency
processed_atUtilizați variabila created_at. Aceasta deține valoarea order.processed_at din API-ul GraphQL și reprezintă ora efectivă la care este procesată comanda, în loc de ora la care este importată comanda în Shopify. Este aceeași cu order.processed_at din aplicația Order Printer legacy. Puteți utiliza filtrul date pentru a formata marca de timp, de exemplu, cu {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtrați order.transactions după starea kind în sintaxa Liquid cu where sau cu o buclă și un if în interior. Consultați exemplele următoare.

{% 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" %} ID tranzacție: {{ transaction.id }} Tip: {{ transaction.kind }} Sumă: {{ 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_transactionsFiltrați prin order.transactions pentru starea kind în sintaxa Liquid cu where sau printr-o buclă cu un if în interior, așa cum se arată în exemplul următor.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. O puteți defini ca variabilă la începutul șablonului și puteți face referire la ea de mai multe ori, așa cum se arată în exemplul următor.
{% 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

Variabile LineItem

Variabilă LineItem
Variabilă în vechea aplicație Order PrinterVariabilă în noua aplicație 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

Variabile de onorare a comenzii

Variabilă de onorare a comenzii
Variabilă în vechea aplicație Order PrinterVariabilă în noua aplicație Shopify Order Printer
datecreated_at

Variabile magazin

Variabilă magazin
Variabilă în vechea aplicație Order PrinterVariabilă în noua aplicație 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

Variabile adresă

Variabilă adresă
Variabilă în vechea aplicație Order PrinterVariabilă în noua aplicație Shopify Order Printer
latitudeDacă variabila address a fost referențiată din atributul location, atunci latitudinea și longitudinea sunt disponibile în cadrul obiectului location în sine.
longitudeDacă variabila address a fost referențiată din atributul location, atunci latitudinea și longitudinea sunt disponibile în cadrul obiectului location în sine.

Variabile de restituire

Variabilă de restituire
Variabilă în vechea aplicație Order PrinterVariabilă în noua aplicație Shopify Order Printer
dateUtilizați variabila created_at. Utilizați filtrul date pentru a formata marca de timp, de exemplu, cu {{ order.created_at | date: "%B %e, %Y" }}.

Variabile ShippingLine

Variabilă ShippingLine
Variabilă în vechea aplicație Order PrinterVariabilă în noua aplicație Shopify Order Printer
current_priceprice
priceoriginal_price

Variabile de tranzacție

Următoarele variabile de tranzacție au fost eliminate și nu pot fi înlocuite în aplicația Shopify Order Printer:

  • authorization
  • message
  • test

Variabile de variantă

variabilă de variantă
Variabilă în vechea aplicație Order PrinterVariabilă în noua aplicație Shopify Order Printer
gramsweight

Variabile de metacâmp

Pentru a accesa un metacâmp, trebuie să specificați Namespace-ul metacâmpului și nu este necesar să adăugați .value la variabilă. Aflați mai multe despre definițiile metacâmpurilor.

De exemplu, în loc de variabila product.metafields.manufacturerid.value, utilizați variabila product.metafields.custom.manufacturerid.

Pentru a identifica valorile Namespace pentru fiecare metacâmp, consultați pagina Date personalizate din panoul de administrare Shopify. Definițiile de metacâmpuri sunt grupate în funcție de obiectele la care se referă, cum ar fi produse, variante sau comenzi.

Mapare filtre

Mapare filtre
Numele filtrului în aplicația Order Printer vecheNumele filtrului în noua aplicație Shopify Order Printer
files_urlfile_url
payment_method și payment_methodsUtilizați câmpul transaction.gateway_display_name pentru tranzacțiile comenzilor. Metodele de plată nu mai sunt clasificate în tipuri specifice, cum ar fi {card de credit, card de debit, transfer bancar}. Aplicația Order Printer veche mapa doar un mic subset de gateway-uri de plată funcționale în prezent la aceste categorii. Furnizorii de gateway-uri de plată gestionează tipurile de metode de plată utilizate de clienți.