Fehlerbehebung bei Problemen mit importierten Order Printer-Vorlagen

Wenn du deine Vorlagen migrierst – von der alten Order Printer-App in die neue Shopify Order Printer-App – werden deine Liquid-Variablen aktualisiert, um die Kompatibilität mit der neuen App zu gewährleisten. In seltenen Fällen musst du bei deinen importierten Vorlagen möglicherweise eine Fehlerbehebung durchführen.

Wenn deine importierten Vorlagen nicht korrekt gedruckt werden, musst du den Code deiner Vorlage in der neuen Shopify Order Printer-App möglicherweise manuell bearbeiten. Überprüfe die folgenden häufigsten Gründe, warum Vorlagen möglicherweise nicht korrekt importiert werden:

  • Vorlagen enthalten benutzerdefiniertes CSS
  • Vorlagen enthalten Metafelder
  • Liquid-Variablen werden möglicherweise nicht korrekt aktualisiert

Auf dieser Seite findest du detaillierte Informationen zur Fehlerbehebung potenzieller Probleme beim Importieren deiner benutzerdefinierten Vorlagen in die neue Shopify Order Printer-App.

Aktualisieren von gängigen CSS-Designanpassungen

Wenn die Vorlagen, die du überträgst, benutzerdefiniertes CSS enthalten, musst du den CSS-Code in deinen Vorlagen möglicherweise manuell aktualisieren, um Designelemente wie Bilder, benutzerdefinierte Schriftarten, Logos oder Barcodes korrekt anzuzeigen.

Aktualisieren von Metafeld-Variablen

Um auf ein Metafeld zuzugreifen, musst du den Namensraum des Metafelds angeben. Du musst .value nicht zur Variable hinzufügen. Erfahre mehr über Metafeld-Definitionen.

Verwende beispielsweise anstelle der Variable product.metafields.custom.manufacturerid.value die Variable product.metafields.custom.manufacturerid.

Um die Namensraumwerte für jedes Metafeld zu ermitteln, rufe die Seite Benutzerdefinierte Daten in deinem Shopify-Adminbereich auf. Metafeld-Definitionen sind nach den Objekten gruppiert, auf die sie sich beziehen, z. B. Produkte, Varianten oder Bestellungen.

Aktualisieren von gängigen Liquid-Variablen

In den meisten Fällen werden deine Liquid-Variablen während des Migrationsvorgangs automatisch aktualisiert. Wenn deine Vorlagen jedoch nicht korrekt migriert werden und du eine der in diesem Abschnitt aufgeführten Variablen verwendest, musst du deine alten Variablen möglicherweise manuell durch neue Variablen ersetzen. Die Shopify Order Printer-App verwendet andere Variablen als die ältere Order Printer-App.

Wenn du beispielsweise die Variable date verwendest, musst du sie durch die Variable created_at ersetzen.

Bestellvariablen

Bestellvariablen werden in der Shopify Order Printer-App anders verwendet. Um auf Bestellvariablen zuzugreifen, musst du das Präfix order. hinzufügen. Um beispielsweise auf die Variable billing_address zuzugreifen, musst du order.billing_address verwenden.

Die folgenden häufig verwendeten Bestellvariablen sind ohne das Präfix order. zugänglich:

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

Wenn du beispielsweise auf die Variable für die Positionen zugreifen möchtest, kannst du line_items oder order.line_items verwenden.

Du kannst auch eigene Aliase für deine Vorlage erstellen. Du kannst beispielsweise die Liquid-Syntax {% assign fulfillments_count = order.fulfillments | size %} verwenden und sie dann mit {{ fulfillments_count }} in deinem Code referenzieren.

Bestellvariable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
line_items
  • Zurückerstattete Positionen sind in der Variable line_items nicht enthalten. Beachte die folgenden Details:
    • Du kannst auf rückerstattete Positionen über die Variable refunds.<each>.refund_line_items zugreifen. Sieh dir das folgende Beispiel an.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • Wenn du möchtest, kannst du die rückerstatteten Positionen mit der Kollektion line_items verknüpfen. Sieh dir das folgende Beispiel an.
      {% 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 %}
    • Du solltest sicherstellen, dass du den Filter | uniq einfügst, um eine Duplizierung der zurückerstatteten Positionen zu vermeiden.
  • Trinkgeldpositionen sind in der Variable line_items nicht enthalten. Beachte die folgenden Details:
    • Du kannst auf Trinkgeldpositionen über die Variable tip_line_items zugreifen.
    • Wenn du möchtest, kannst du tip_line_items mit der Kollektion line_items verknüpfen. Sieh dir das folgende Beispiel an.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Um die line_items-Kollektion der älteren Order Printer-App nachzuahmen, kannst du den folgenden Beispielcode verwenden.
    {% 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_cardVerwende Zahlungsdetails basierend auf jeder Transaktion der Bestellung mit der Variable transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateVerwende die Variable created_at. Verwende den date-Filter, um den Zeitstempel zu formatieren, zum Beispiel mit {{ order.created_at | date: "%B %e, %Y" }}.
gatewaysunique_gateways oder transactions.<each>.gateway
order_currencycurrency
processed_atVerwende die Variable created_at. Sie enthält den Wert von order.processed_at aus der GraphQL API und gibt den tatsächlichen Zeitpunkt an, zu dem die Bestellung verarbeitet wird, anstatt des Zeitpunkts, zu dem die Bestellung in Shopify importiert wird. Sie ist mit order.processed_at aus der alten Order Printer-App identisch. Du kannst den date-Filter verwenden, um den Zeitstempel zu formatieren, zum Beispiel mit {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtere order.transactions nach dem kind-Status in der Liquid-Syntax mit where oder mit Looping und einem if darin. Sieh dir die folgenden Beispiele an.

{% 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" %} Transaktions-ID: {{ transaction.id }} Art: {{ transaction.kind }} Betrag: {{ 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_transactionsFiltere in der Liquid-Syntax mit where oder mit einer Schleife und einem if darin die order.transactions nach dem kind-Status, wie im folgenden Beispiel.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. Du kannst dies als Variable am Anfang der Vorlage definieren und mehrmals darauf verweisen, wie im folgenden Beispiel.
{% 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

LineItem-Variablen

LineItem-Variable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
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

Fulfillment-Variablen

Fulfillment-Variable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
datecreated_at

Shop-Variablen

Shop-Variable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
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

Adressvariablen

Adressvariable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
latitudeWenn die Variable address über das Attribut location referenziert wurde, sind der Breitengrad und der Längengrad auf dem Objekt location selbst verfügbar.
longitudeWenn die Variable address über das Attribut location referenziert wurde, sind der Breitengrad und der Längengrad auf dem Objekt location selbst verfügbar.

Rückerstattungsvariablen

Rückerstattungsvariable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
dateVerwende die Variable created_at. Verwende den date-Filter, um den Zeitstempel zu formatieren, zum Beispiel mit {{ order.created_at | date: "%B %e, %Y" }}.

ShippingLine-Variablen

ShippingLine-Variable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
current_priceprice
priceoriginal_price

Transaktionsvariablen

Die folgenden Transaktionsvariablen wurden entfernt und können in der Shopify Order Printer-App nicht ersetzt werden:

  • authorization
  • message
  • test

Variantenvariablen

Variantenvariable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
gramsweight

Metafeldvariablen

Für den Zugriff auf ein Metafeld musst du dessen Namespace angeben. Du musst .value nicht zur Variable hinzufügen. Mehr Informationen über Metafeld-Definitionen.

Verwende zum Beispiel anstelle der Variable product.metafields.manufacturerid.value die Variable product.metafields.custom.manufacturerid.

Die Namespace-Werte für die einzelnen Metafelder findest du auf der Seite Benutzerdefinierte Daten in deinem Shopify-Adminbereich. Metafeld-Definitionen sind nach den Objekten gruppiert, auf die sie sich beziehen, z. B. Produkte, Varianten oder Bestellungen.

Filter-Mapping

Filter-Mapping
Filtername in der alten Order Printer-AppFiltername in der neuen Shopify Order Printer-App
files_urlfile_url
payment_method und payment_methodsVerwende das Feld transaction.gateway_display_name bei Bestelltransaktionen. Zahlungsmethoden werden nicht mehr in bestimmte Arten wie {Kreditkarte, Debitkarte, Banküberweisung} unterteilt. Die alte Order Printer-App hat nur eine kleine Untergruppe der aktuell funktionierenden Zahlungs-Gateways diesen Kategorien zugeordnet. Die Anbieter von Zahlungs-Gateways verwalten die Arten von Zahlungsmethoden, die von Kund:innen verwendet werden, selbst.