Probleme mit importierten Order Printer-Vorlagen beheben

Bei der Migration deiner Vorlagen von der alten Order Printer-App in die neue Shopify Order Printer-App werden die Liquid-Variablen aktualisiert, um die Kompatibilität mit der neuen App sicherzustellen. Probleme mit importierten Vorlagen musst du nur in seltenen Fällen beheben.

Wenn die importierten Vorlagen nicht korrekt gedruckt werden, musst du möglicherweise den Code der Vorlage in der neuen Shopify Order Printer-App manuell bearbeiten. Lies dir nachfolgend die häufigsten Gründe durch, weshalb Vorlagen nicht ordnungsgemäß importiert werden:

  • Die Vorlagen enthalten benutzerdefiniertes CSS.
  • Die Vorlagen enthalten Metafelder.
  • Die Liquid-Variablen werden womöglich nicht korrekt aktualisiert.

Auf dieser Seite findest du eine detaillierte Anleitung, wie du mögliche Probleme beim Importieren deiner benutzerdefinierten Vorlagen in die neue Shopify Order Printer-App beheben kannst.

Gängige CSS-Designanpassungen aktualisieren

Wenn die Vorlagen, die du importierst, benutzerdefiniertes CSS enthalten, musst du den CSS-Code in den Vorlagen ggf. manuell aktualisieren, damit die Designelemente wie Bilder, benutzerdefinierte Schriftarten, Logos oder Barcodes korrekt dargestellt werden.

Metafeld-Variablen aktualisieren

Um auf ein Metafeld zuzugreifen, musst du den Namensraum des Metafelds festlegen. .value musst du nicht zur Variable hinzufügen. Mehr Informationen zu Metafeld-Definitionen.

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

Informationen zum Identifizieren von Namensraumwerten für die einzelnen Metafelder findest du im Shopify-Adminbereich auf der Seite Benutzerdefinierte Daten. Metafeld-Definitionen werden nach den Objekten gruppiert, auf die sie sich beziehen, z. B. Produkte, Varianten oder Bestellungen.

Gängige Liquid-Variablen aktualisieren

In den meisten Fällen werden die Liquid-Variablen beim Importieren automatisch aktualisiert. Wenn deine Vorlagen allerdings nicht korrekt migriert werden und du einige der in diesem Abschnitt genannten Variablen verwendest, musst du ggf. die alten Variablen manuell durch die neuen Variablen ersetzen. Die Shopify Order Printer-App verwendet andere Variablen als die alte 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 gehandhabt. 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.

Auf die folgenden häufig verwendeten Bestellvariablen kann ohne das Präfix order. zugegriffen werden:

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

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

Du kannst auch deine eigenen Aliase für deine Vorlage erstellen. Du kannst beispielsweise die Liquid-Syntax {% assign fulfillments_count = order.fulfillments | size %} verwenden und dann auf die Syntax verweisen, indem du {{ fulfillments_count }} in deinem Code verwendest.

Bestellvariable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
line_items
  • Zurückerstattete Positionen sind nicht in der Variable line_items enthalten. Prüfe die folgenden Details:
    • Du kannst mit der Variable refunds.<each>.refund_line_items auf zurückerstattete Positionen zugreifen. Betrachte hierfür das folgende Beispiel.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • Wenn du möchtest, kannst du die zurückerstatteten Positionen mit der Kollektion line_items zusammenführen. Betrachte hierfür das folgende Beispiel.
      {% 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 einschließt, um eine Duplizierung der erstatteten Positionen zu vermeiden.
  • Trinkgeld-Positionen sind nicht in der Variable line_items enthalten. Prüfe die folgenden Details:
    • Du kannst auf Trinkgeld-Positionen mit der Variable tip_line_items zugreifen.
    • Wenn du möchtest, kannst du tip_line_items mit der Kollektion line_items zusammenführen. Betrachte hierfür das folgende Beispiel.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Um die Kollektion line_items aus der älteren Order Printer-App nachzubilden, 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_cardGreife auf die Zahlungsdetails basierend auf jeder Transaktion aus der Bestellung mit der Variable transactions.<each>.payment_details zu.
current_shipping_priceshipping_price
dateVerwende die Variable created_at. Verwende den Filter Datum, um den Zeitstempel zu formatieren, z. B. mit {{ order.created_at | date: "%B %e, %Y" }}.
gateways unique_gateways oder transactions.<each>.gateway
order_currencyWährung
processed_atVerwende die Variable created_at. Sie enthält den Wert order.processed_at aus der GraphQL API und gibt den tatsächlichen Zeitpunkt an, an dem die Bestellung verarbeitet wird, anstelle des Zeitpunkts, an dem die Bestellung bei Shopify importiert wird. Dabei handelt es sich um denselben Wert wie order.processed_at aus der älteren Order Printer-App. Du kannst den Filter date verwenden, um den Zeitstempel zu formatieren, z. B. mit {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtere order.transactions in der Liquid-Syntax mit dem where-Befehl oder mit einer Schleife mit enthaltener if-Bedingung nach der Art. Prüfe die folgenden Beispiele.

{% 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 order.transactions in der Liquid-Syntax mit dem where-Befehl oder mit einer Schleife mit enthaltener if-Bedingung wie in den folgenden Beispielen nach der Art.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxes tax_lines.size > 0. Du kannst sie als Variable am Anfang der Vorlage definieren und mehrfach auf sie 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

Positionsvariablen

Positionsvariable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
fulfillable_quantityquantity - successfully_fulfilled_quantity
ausgeführtquantity == successfully_fulfilled_quantity
nametitle
product_titleproduct.title
unit_discountquantity ? line_level_total_discount / quantity : 0
variant_titlevariant.title
weightGramm

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
Inhaberaccount_owner.name
Adresseshop.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 vom Attribut location auf die Variable address verwiesen wurde, sind der Breiten- und Längengrad im Objekt location selbst verfügbar.
longitudeWenn vom Attribut location auf die Variable address verwiesen wurde, sind der Breiten- und Längengrad im 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 Filter Datum, um den Zeitstempel zu formatieren, z. B. mit {{ order.created_at | date: "%B %e, %Y" }}.

Versandzeilenvariablen

Versandzeilenvariable
Variable in der älteren Order Printer-AppVariable in der neuen Shopify Order Printer-App
current_pricePreis
Preisoriginal_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
Grammweight

Metafeld-Variablen

Um auf ein Metafeld zuzugreifen, musst du den Namensraum des Metafelds festlegen. .value musst du nicht zur Variable hinzufügen. Erhalte mehr Informationen zu Metafeld-Definitionen.

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

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

Filterzuordnung

Filterzuordnung
Filtername in der älteren Order Printer-AppFiltername in der neuen Shopify Order Printer-App
files_urlfile_url
payment_method und payment_methods Verwende das Feld transaction.gateway_display_name für Bestelltransaktionen. Zahlungsmethoden werden nicht mehr nach bestimmten Arten wie {Kreditkarte, Debitkarte, Banküberweisung} kategorisiert. Die ältere Order Printer-App ordnete diesen Kategorien nur eine kleine Teilmenge der derzeit funktionierenden Zahlungs-Gateways zu. Die Anbieter von Zahlungs-Gateways verwalten die von den Kunden verwendeten Zahlungsmethoden auf ihrer Seite.
Du hast die gesuchten Antworten nicht gefunden? Wir helfen dir gerne weiter.