Problemen oplossen met je geïmporteerde Order Printer-templates

Wanneer je je templates migreert van de verouderde Order Printer-app naar de nieuwe Shopify Order Printer-app, worden je Liquid-variabelen geüpdatet om compatibiliteit met de nieuwe app te garanderen. In zeldzame gevallen moet je mogelijk problemen met je geïmporteerde templates oplossen.

Als je geïmporteerde templates niet correct worden afgedrukt, moet je mogelijk de code van je template handmatig bewerken in de nieuwe Shopify Order Printer-app. Bekijk de volgende veelvoorkomende redenen waarom templates mogelijk niet correct worden geïmporteerd:

  • Templates bevatten aangepaste CSS
  • Templates bevatten metavelden
  • Liquid-variabelen worden mogelijk niet correct geüpdatet

Op deze pagina vind je gedetailleerde informatie over het oplossen van mogelijke problemen bij het importeren van je aangepaste templates naar de nieuwe Shopify Order Printer-app.

Veelvoorkomende CSS-ontwerpaanpassingen updaten

Als de templates die je overzet aangepaste CSS bevatten, moet je de CSS-code in je templates mogelijk handmatig updaten om ontwerpelementen, zoals afbeeldingen, aangepaste lettertypen, logo's of barcodes, correct weer te geven.

Metaveld-variabelen updaten

Om toegang te krijgen tot een metaveld, moet je de naamruimte van het metaveld opgeven en hoef je .value niet aan de variabele toe te voegen. Meer informatie over metavelddefinities.

Gebruik bijvoorbeeld in plaats van de variabele product.metafields.custom.manufacturerid.value de variabeleproduct.metafields.custom.manufacturerid.

Raadpleeg de pagina Aangepaste gegevens in je Shopify-beheercentrum om de naamruimtewaarden voor elk metaveld te vinden. Metavelddefinities zijn gegroepeerd op de objecten waarnaar ze verwijzen, zoals producten, varianten of bestellingen.

Veelvoorkomende Liquid-variabelen updaten

In de meeste gevallen worden je Liquid-variabelen automatisch geüpdatet tijdens het migratieproces. Als je templates echter niet correct migreren en je een van de variabelen in deze sectie gebruikt, moet je je oude variabelen mogelijk handmatig vervangen door nieuwe variabelen. De Shopify Order Printer-app gebruikt andere variabelen dan de verouderde Order Printer-app.

Als je bijvoorbeeld de variabele date gebruikt, moet je deze vervangen door de variabele created_at.

Bestelvariabelen

Bestelvariabelen worden anders gebruikt in de Shopify Order Printer-app. Om toegang te krijgen tot bestelvariabelen, moet je het voorvoegsel order. toevoegen. Om bijvoorbeeld toegang te krijgen tot de variabele billing_address, moet je order.billing_address gebruiken.

De volgende veelgebruikte bestelvariabelen zijn toegankelijk zonder het voorvoegsel order.:

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

Om bijvoorbeeld toegang te krijgen tot de variabele line_items, kun je line_items of order.line_items gebruiken.

Je kunt ook je eigen aliassen voor je template maken. Je kunt bijvoorbeeld de Liquid-syntaxis {% assign fulfillments_count = order.fulfillments | size %} gebruiken en er vervolgens naar verwijzen met {{ fulfillments_count }} in je code.

Bestelvariabele
Variabele in de verouderde Order Printer-appVariabele in de nieuwe Shopify Order Printer-app
line_items
  • Terugbetaalde orderregels zijn niet opgenomen in de line_items variabele. Bekijk de volgende gegevens:
    • Je kunt toegang krijgen tot terugbetaalde orderregels met de variabele refunds.<each>.refund_line_items. Bekijk het volgende voorbeeld.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • Desgewenst kun je de terugbetaalde orderregels toevoegen aan de collectie line_items. Bekijk het volgende voorbeeld.
      {% 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 %}
    • Zorg ervoor dat je het | uniq-filter opneemt om duplicatie van de terugbetaalde orderregels te voorkomen.
  • Fooi-orderregels zijn niet opgenomen in de line_items variabele. Bekijk de volgende gegevens:
    • Je kunt toegang krijgen tot fooi-orderregels met de variabele tip_line_items.
    • Desgewenst kun je tip_line_items toevoegen aan de collectie line_items. Bekijk het volgende voorbeeld.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Om de collectie line_items van de verouderde Order Printer na te bootsen, kun je de volgende voorbeeldcode gebruiken.
    {% 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_cardGebruik de variabele transactions.<each>.payment_details voor betalingsgegevens op basis van elke transactie van de bestelling.
current_shipping_priceshipping_price
dateGebruik de variabele created_at. Gebruik het date-filter om de tijdstempel op te maken, bijvoorbeeld met {{ order.created_at | date: "%B %e, %Y" }}.
gatewaysunique_gateways of transactions.<each>.gateway
order_currencycurrency
processed_atGebruik de variabele created_at. Deze bevat de waarde van order.processed_at uit de GraphQL-API, en is de daadwerkelijke tijd waarop de bestelling wordt verwerkt, in plaats van de tijd waarop de bestelling in Shopify wordt geïmporteerd. Deze is hetzelfde als order.processed_at uit de verouderde Order Printer-app. Je kunt het date-filter gebruiken om de tijdstempel op te maken, bijvoorbeeld met {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filter order.transactions op de status kind in de Liquid-syntaxis met where, of met een lus en een if erin. Bekijk de volgende voorbeelden.

{% 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_transactionsFilter in order.transactions op de status kind in de Liquid-syntaxis met where, of met looping en daarin een if, zoals in het volgende voorbeeld.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. Je kunt dit als variabele definiëren aan het begin van de template en er meerdere keren naar verwijzen, zoals in het volgende voorbeeld.
{% 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-variabelen

LineItem-variabele
Variabele in de verouderde Order Printer-appVariabele in de nieuwe 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

Fulfilment-variabelen

Fulfilment-variabele
Variabele in de verouderde Order Printer-appVariabele in de nieuwe Shopify Order Printer-app
datecreated_at

Shop-variabelen

Shop-variabele
Variabele in de verouderde Order Printer-appVariabele in de nieuwe 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

Adresvariabelen

Adresvariabele
Variabele in de verouderde Order Printer-appVariabele in de nieuwe Shopify Order Printer-app
latitudeAls er naar de variabele address werd verwezen vanuit het attribuut location, dan zijn de breedte- en lengtegraad beschikbaar op het object location zelf.
longitudeAls er naar de variabele address werd verwezen vanuit het attribuut location, dan zijn de breedte- en lengtegraad beschikbaar op het object location zelf.

Terugbetalingsvariabelen

Terugbetalingsvariabele
Variabele in de verouderde Order Printer-appVariabele in de nieuwe Shopify Order Printer-app
dateGebruik de variabele created_at. Gebruik het date-filter om de tijdstempel op te maken, bijvoorbeeld met {{ order.created_at | date: "%B %e, %Y" }}.

ShippingLine-variabelen

ShippingLine-variabele
Variabele in de verouderde Order Printer-appVariabele in de nieuwe Shopify Order Printer-app
current_priceprice
priceoriginal_price

Transactievariabelen

De volgende transactievariabelen zijn verwijderd en kunnen niet worden vervangen in de Shopify Order Printer-app:

  • authorization
  • message
  • test

Variantvariabelen

Variantvariabele
Variabele in de verouderde Order Printer-appVariabele in de nieuwe Shopify Order Printer-app
gramsweight

Metaveldvariabelen

Om toegang te krijgen tot een metaveld, moet je de Namespace van het metaveld opgeven. Je hoeft .value niet aan de variabele toe te voegen. Meer informatie over metavelddefinities.

Gebruik bijvoorbeeld de variabele product.metafields.custom.manufacturerid in plaats van de variabele product.metafields.manufacturerid.value.

Raadpleeg de pagina Custom data in je Shopify-beheercentrum om de Namespace-waarden voor elk metaveld te vinden. Metavelddefinities zijn gegroepeerd op basis van de objecten waarnaar ze verwijzen, zoals producten, varianten of bestellingen.

Filterkoppeling

Filterkoppeling
Filternaam in de verouderde Order Printer-appFilternaam in de nieuwe Shopify Order Printer-app
files_urlfile_url
payment_method en payment_methodsGebruik het veld transaction.gateway_display_name bij bestellingstransacties. Betaalmethoden worden niet langer onderverdeeld in specifieke typen, zoals {creditcard, debetkaart, bankoverschrijving}. De verouderde Order Printer-app koppelde slechts een kleine subset van de momenteel werkende betalingsgateways aan deze categorieën. Aanbieders van betalingsgateways beheren zelf de typen betaalmethoden die klanten gebruiken.