Résolution des problèmes liés à vos modèles Order Printer importés

Lorsque vous migrez vos modèles de l’appli Order Printer héritée vers la nouvelle appli Shopify Order Printer, vos variables Liquid sont mises à jour pour garantir la compatibilité avec la nouvelle appli. Dans de rares cas, il se peut que vous deviez résoudre les problèmes de vos modèles importés.

Si vos modèles importés ne s’impriment pas correctement, vous devrez peut-être modifier manuellement le code de votre modèle dans la nouvelle appli Shopify Order Printer. Examinez les raisons les plus courantes pour lesquelles les modèles peuvent ne pas être importés correctement :

  • Les modèles incluent du CSS personnalisé
  • Les modèles contiennent des champs méta
  • Les variables Liquid peuvent ne pas être mises à jour correctement

Sur cette page, vous trouverez des informations détaillées sur la manière de résoudre les problèmes potentiels lors de l’importation de vos modèles personnalisés dans la nouvelle appli Shopify Order Printer.

Mise à jour des personnalisations de design CSS courantes

Si les modèles que vous transférez incluent du CSS personnalisé, vous devrez peut-être mettre à jour manuellement le code CSS dans vos modèles pour afficher correctement les éléments de design, tels que les images, les polices personnalisées, les logos ou les codes-barres.

Mise à jour des variables de champ méta

Pour accéder à un champ méta, vous devez spécifier l’espace de nom du champ méta, et vous n’avez pas besoin d’ajouter .value à la variable. En savoir plus sur les définitions de champs méta.

Par exemple, au lieu de la variable product.metafields.custom.manufacturerid.value, utilisez la variableproduct.metafields.custom.manufacturerid.

Pour identifier les valeurs d’espace de nom de chaque champ méta, consultez la page Données personnalisées de votre interface administrateur Shopify. Les définitions de champs méta sont regroupées en fonction des objets auxquels elles se rapportent, tels que les produits, les variantes ou les commandes.

Mise à jour des variables Liquid courantes

Dans la plupart des cas, vos variables Liquid se mettent à jour automatiquement pendant le processus de migration. Toutefois, si vos modèles ne migrent pas correctement et que vous utilisez l’une des variables répertoriées dans cette section, vous devrez peut-être remplacer manuellement vos anciennes variables par les nouvelles. L’application Shopify Order Printer utilise des variables différentes de l’ancienne application Order Printer.

Par exemple, si vous utilisez la variable date, vous devez la remplacer par la variable created_at.

Variables de commande

Les variables de commande sont utilisées différemment dans l’application Shopify Order Printer. Pour accéder aux variables de commande, vous devez ajouter le préfixe order.. Par exemple, pour accéder à la variable billing_address, vous devez utiliser order.billing_address.

Les variables de commande couramment utilisées suivantes sont accessibles sans le préfixe order. :

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

Par exemple, si vous souhaitez accéder à la variable line_items, vous pouvez utiliser line_items ou order.line_items.

Vous pouvez également créer vos propres alias pour votre modèle. Par exemple, vous pouvez utiliser la syntaxe Liquid {% assign fulfillments_count = order.fulfillments | size %}, puis y faire référence en utilisant {{ fulfillments_count }} dans votre code.

Variable de commande
Variable dans l’ancienne application Order PrinterVariable dans la nouvelle application Shopify Order Printer
line_items
  • Articles du panier remboursés ne sont pas inclus dans la line_items variable. Consultez les détails suivants :
    • Vous pouvez accéder aux articles remboursés à l’aide de la variable refunds.<each>.refund_line_items. Examinez l’exemple suivant.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • Vous pouvez joindre les articles remboursés à la collection line_items si vous le souhaitez. Examinez l’exemple suivant.
      {% 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 %}
    • Vous devez vous assurer d’inclure le filtre | uniq afin d’éviter la duplication des articles du panier remboursés.
  • Articles du panier de pourboire ne sont pas inclus dans la line_items variable. Consultez les détails suivants :
    • Vous pouvez accéder aux articles du panier de pourboire en utilisant la variable tip_line_items.
    • Vous pouvez joindre tip_line_items à la collection line_items si vous le souhaitez. Examinez l’exemple suivant.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Pour reproduire la collection line_items de l’ancienne version d’Order Printer, vous pouvez utiliser l’exemple de code suivant.
    {% 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_cardUtilisez les détails de paiement basés sur chaque transaction de la commande avec la variable transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateUtilisez la variable created_at. Utilisez le filtre date pour formater l’horodatage, par exemple avec {{ order.created_at | date: "%B %e, %Y" }}.
gatewaysunique_gateways ou transactions.<each>.gateway
order_currencycurrency
processed_atUtilisez la variable created_at. Elle contient la valeur de order.processed_at de l’API GraphQL et correspond à l’heure réelle à laquelle la commande est traitée, plutôt qu’à l’heure à laquelle la commande est importée dans Shopify. Elle est identique à order.processed_at de l’ancienne application Order Printer. Vous pouvez utiliser le filtre date pour formater l’horodatage, par exemple avec {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtrez order.transactions en fonction du statut kind dans la syntaxe Liquid avec where, ou avec une boucle et une instruction if. Examinez les exemples suivants.

{% 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_transactionsFiltrez order.transactions pour le statut kind dans la syntaxe Liquid avec where, ou à l’aide d’une boucle et d’une instruction if, comme dans l’exemple suivant.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. Vous pouvez la définir comme une variable au début du modèle et y faire référence à plusieurs reprises, comme dans l’exemple suivant.
{% 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

Variables de LineItem

Variable de LineItem
Variable dans l’ancienne application Order PrinterVariable dans la nouvelle application 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

Variables de traitement des commandes

Variable de traitement des commandes
Variable dans l’ancienne application Order PrinterVariable dans la nouvelle application Shopify Order Printer
datecreated_at

Variables de Shop

Variable de Shop
Variable dans l’ancienne application Order PrinterVariable dans la nouvelle application 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

Variables d'adresse

Variable d'adresse
Variable dans l’ancienne application Order PrinterVariable dans la nouvelle application Shopify Order Printer
latitudeSi la variable address a été référencée à partir de l’attribut location, alors la latitude et la longitude sont disponibles sur l’objet location lui-même.
longitudeSi la variable address a été référencée à partir de l’attribut location, alors la latitude et la longitude sont disponibles sur l’objet location lui-même.

Variables de remboursement

Variable de remboursement
Variable dans l’ancienne application Order PrinterVariable dans la nouvelle application Shopify Order Printer
dateUtilisez la variable created_at. Utilisez le filtre date pour formater l’horodatage, par exemple avec {{ order.created_at | date: "%B %e, %Y" }}.

Variables de ShippingLine

Variable de ShippingLine
Variable dans l’ancienne application Order PrinterVariable dans la nouvelle application Shopify Order Printer
current_priceprice
priceoriginal_price

Variables de transaction

Les variables de transaction suivantes ont été supprimées et ne peuvent pas être remplacées dans l’application Shopify Order Printer :

  • authorization
  • message
  • test

Variables de variante

Variable de variante
Variable dans l’ancienne application Order PrinterVariable dans la nouvelle application Shopify Order Printer
gramsweight

Variables de champs méta

Pour accéder à un champ méta, vous devez spécifier son espace de noms et vous n’avez pas besoin d’ajouter .value à la variable. En savoir plus sur les définitions de champs méta.

Par exemple, au lieu de la variable product.metafields.manufacturerid.value, utilisez la variable product.metafields.custom.manufacturerid.

Pour identifier les valeurs de l’espace de noms de chaque champ méta, consultez la page Données personnalisées dans votre interface administrateur Shopify. Les définitions de champs méta sont regroupées en fonction des objets auxquels elles font référence, tels que les produits, les variantes ou les commandes.

Mappage des filtres

Mappage des filtres
Nom du filtre dans l’ancienne application Order PrinterNom du filtre dans la nouvelle application Order Printer de Shopify
files_urlfile_url
payment_method et payment_methodsUtilisez le champ transaction.gateway_display_name sur les transactions de commande. Les moyens de paiement ne sont plus classés par types spécifiques, tels que {carte de crédit, carte de débit, virement bancaire}. L’ancienne application Order Printer ne mappait qu’un petit sous-ensemble des passerelles de paiement actuellement en service à ces catégories. Les fournisseurs de passerelles de paiement gèrent de leur côté les types de moyens de paiement utilisés par les clients.