Risoluzione dei problemi relativi ai modelli di Order Printer importati

Quando esegui la migrazione dei modelli dall'app legacy Order Printer alla nuova app Shopify Order Printer, le variabili Liquid vengono aggiornate per garantire la compatibilità con la nuova app. In rari casi, potrebbe essere necessario risolvere i problemi relativi ai modelli importati.

Se i modelli importati non vengono stampati correttamente, potresti dover modificare manualmente il codice del modello nella nuova app Shopify Order Printer. Esamina i motivi più comuni per cui i modelli potrebbero non essere importati correttamente:

  • I modelli includono CSS personalizzati
  • I modelli contengono metafield
  • Le variabili Liquid potrebbero non essere aggiornate correttamente

In questa pagina puoi trovare informazioni dettagliate su come risolvere potenziali problemi durante l'importazione dei modelli personalizzati nella nuova app Shopify Order Printer.

Aggiornamento delle personalizzazioni di design CSS comuni

Se i modelli che stai trasferendo includono CSS personalizzato, potrebbe essere necessario aggiornare manualmente il codice CSS nei modelli per visualizzare correttamente gli elementi di design, come immagini, font personalizzati, logo o codici a barre.

Aggiornamento delle variabili metafield

Per accedere a un metafield, devi specificarne lo spazio dei nomi e non è necessario aggiungere .value alla variabile. Scopri di più sulle definizioni dei metafield.

Ad esempio, invece della variabile product.metafields.custom.manufacturerid.value, utilizza la variabile product.metafields.custom.manufacturerid.

Per identificare i valori dello spazio dei nomi per ogni metafield, fai riferimento alla pagina Dati personalizzati nel pannello di controllo Shopify. Le definizioni dei metafield sono raggruppate in base agli oggetti a cui si riferiscono, come prodotti, varianti o ordini.

Aggiornamento delle variabili Liquid comuni

Nella maggior parte dei casi, le variabili Liquid si aggiornano automaticamente durante il processo di migrazione. Tuttavia, se i modelli non vengono migrati correttamente e utilizzi una delle variabili elencate in questa sezione, potrebbe essere necessario sostituire manualmente le vecchie variabili con quelle nuove. L'app Shopify Order Printer utilizza variabili diverse dall'app Order Printer legacy.

Ad esempio, se utilizzi la variabile date, devi sostituirla con la variabile created_at.

Variabili dell'ordine

Le variabili dell'ordine vengono utilizzate in modo diverso nell'app Shopify Order Printer. Per accedere alle variabili dell'ordine, è necessario aggiungere il prefisso order.. Ad esempio, per accedere alla variabile billing_address, è necessario utilizzare order.billing_address.

Le seguenti variabili dell'ordine di uso comune sono accessibili senza il prefisso order.:

  • line_items
  • tax_lines
  • fulfillments
  • transactions
  • rimborsi
  • shipping_methods
  • customer

Ad esempio, se vuoi accedere alla variabile delle voci, puoi utilizzare line_items o order.line_items.

Puoi anche creare alias personalizzati per il modello. Ad esempio, puoi utilizzare la sintassi Liquid {% assign fulfillments_count = order.fulfillments | size %} e quindi farvi riferimento utilizzando {{ fulfillments_count }} nel codice.

Variabile dell'ordine
Variabile nell'app Order Printer legacyVariabile nella nuova app Shopify Order Printer
line_items
  • Voci rimborsate non sono incluse nella variabile line_items . Controlla i seguenti dettagli:
    • Puoi accedere alle voci rimborsate utilizzando la variabile refunds.<each>.refund_line_items. Controlla il seguente esempio.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • Se lo desideri, puoi unire le voci rimborsate alla collezione line_items. Controlla il seguente esempio.
      {% 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 %}
    • Assicurati di includere il filtro | uniq per evitare la duplicazione delle voci rimborsate.
  • Voci relative alla mancia non sono incluse nella variabile line_items . Controlla i seguenti dettagli:
    • Puoi accedere alle voci relative alla mancia utilizzando la variabile tip_line_items.
    • Se lo desideri, puoi unire tip_line_items alla collezione line_items. Controlla il seguente esempio.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Per riprodurre la collezione legacy line_items di Order Printer, puoi usare il seguente codice di esempio.
    {% 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_cardUtilizza i dettagli di pagamento in base a ogni transazione dell'ordine con la variabile transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateUtilizza la variabile created_at. Utilizza il filtro date per formattare il timestamp, ad esempio con {{ order.created_at | date: "%B %e, %Y" }}.
gatewaysunique_gateways o transactions.<each>.gateway
order_currencycurrency
processed_atUsa la variabile created_at. Contiene il valore di order.processed_at dall'API GraphQL e indica l'ora effettiva in cui l'ordine viene elaborato, anziché l'ora in cui viene importato in Shopify. È uguale a order.processed_at dell'app Order Printer legacy. Puoi usare il filtro date per formattare il timestamp, ad esempio con {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtra in order.transactions per lo stato kind nella sintassi Liquid con where o con un loop e un if all'interno. Esamina gli esempi seguenti.

{% 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_transactionsFiltra in order.transactions lo stato kind nella sintassi Liquid con where o con un ciclo e un if all'interno, come nel seguente esempio.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. Puoi definirla come variabile all'inizio del modello e farvi riferimento più volte, come nel seguente esempio.
{% 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

Variabili LineItem

Variabile LineItem
Variabile nell'app Order Printer legacyVariabile nella nuova app 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

Variabili di evasione

Variabile di evasione
Variabile nell'app Order Printer legacyVariabile nella nuova app Shopify Order Printer
datecreated_at

Variabili Shop

Variabile Shop
Variabile nell'app Order Printer legacyVariabile nella nuova app 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

Variabili di indirizzo

Variabile di indirizzo
Variabile nell'app Order Printer legacyVariabile nella nuova app Shopify Order Printer
latitudeSe si faceva riferimento alla variabile address a partire dall’attributo location, allora la latitudine e la longitudine sono disponibili nell’oggetto location stesso.
longitudeSe si faceva riferimento alla variabile address a partire dall’attributo location, allora la latitudine e la longitudine sono disponibili nell’oggetto location stesso.

Variabili di rimborso

Variabile di rimborso
Variabile nell'app Order Printer legacyVariabile nella nuova app Shopify Order Printer
dateUtilizza la variabile created_at. Utilizza il filtro date per formattare il timestamp, ad esempio con {{ order.created_at | date: "%B %e, %Y" }}.

Variabili ShippingLine

Variabile ShippingLine
Variabile nell'app Order Printer legacyVariabile nella nuova app Shopify Order Printer
current_priceprice
priceoriginal_price

Variabili di transazione

Le seguenti variabili di transazione sono state rimosse e non possono essere sostituite nell'app Order Printer di Shopify:

  • authorization
  • message
  • test

Variabili di variante

Variabile di variante
Variabile nell'app Order Printer legacyVariabile nella nuova app Shopify Order Printer
gramsweight

Variabili metafield

Per accedere a un metafield, devi specificare il suo Namespace e non devi aggiungere .value alla variabile. Scopri di più sulle definizioni dei metafield.

Ad esempio, invece della variabile product.metafields.manufacturerid.value, usa la variabile product.metafields.custom.manufacturerid.

Per identificare i valori di Namespace per ogni metafield, fai riferimento alla pagina Dati personalizzati nel pannello di controllo Shopify. Le definizioni dei metafield sono raggruppate per gli oggetti a cui si riferiscono, come prodotti, varianti od ordini.

Mappatura filtri

Mappatura filtri
Nome del filtro nell'app Order Printer legacyNome del filtro nella nuova app Order Printer di Shopify
files_urlfile_url
payment_method e payment_methodsUsa il campo transaction.gateway_display_name sulle transazioni dell'ordine. I metodi di pagamento non sono più suddivisi in tipi specifici, come {carta di credito, carta di debito, bonifico bancario}. L'app Order Printer legacy mappava solo un piccolo sottoinsieme dei canali di pagamento attualmente funzionanti in queste categorie. I provider di canali di pagamento gestiscono i tipi di metodi di pagamento utilizzati dai clienti.