Rozwiązywanie problemów z importowanymi szablonami aplikacji Order Printer

Gdy przeniesiesz szablony ze starszej aplikacji Order Printer do nowej aplikacji Shopify Order Printer, zmienne Liquid zostaną zaktualizowane w celu zapewnienia kompatybilności z nową aplikacją. W rzadkich przypadkach może być konieczne rozwiązanie problemów z importowanymi szablonami.

Jeśli importowane szablony nie drukują się prawidłowo, może być konieczne ręczne edytowanie kodu szablonu w nowej aplikacji Shopify Order Printer. Zapoznaj się z poniższymi najczęstszymi przyczynami nieprawidłowego importu szablonów:

  • Szablony zawierają niestandardowy kod CSS
  • Szablony zawierają metapola
  • Zmienne Liquid mogą nie zostać poprawnie zaktualizowane

Na tej stronie znajdziesz szczegółowe informacje na temat rozwiązywania potencjalnych problemów podczas importowania niestandardowych szablonów do nowej aplikacji Shopify Order Printer.

Aktualizowanie powszechnych dostosowań projektu CSS

Jeśli przenoszone szablony zawierają niestandardowy kod CSS, konieczne może być ręczne uaktualnienie kodu CSS w szablonach w celu poprawnego wyświetlania elementów projektu, takich jak obrazy, czcionki niestandardowe, logo lub kody kreskowe.

Aktualizowanie zmiennych metapól

Aby uzyskać dostęp do metapola, musisz podać przestrzeń nazw metapola i nie musisz dodawać .value do zmiennej. Dowiedz się więcej o definicjach metapól.

Na przykład, zamiast zmiennej product.metafields.custom.manufacturerid.value użyj zmiennej product.metafields.custom.manufacturerid.

Aby zidentyfikować wartości przestrzeni nazw dla każdego metapola, przejdź do strony Dane niestandardowe w panelu administracyjnym Shopify. Definicje metapól są pogrupowane według obiektów, do których się odnoszą, takich jak produkty, warianty lub zamówienia.

Aktualizowanie powszechnych zmiennych Liquid

W większości przypadków zmienne Liquid są automatycznie aktualizowane podczas procesu migracji. Jeśli jednak szablony nie zostaną poprawnie zmigrowane i używasz którejkolwiek ze zmiennych wymienionych w tej sekcji, konieczne może być ręczne zastąpienie starych zmiennych nowymi. Aplikacja Shopify Order Printer używa innych zmiennych niż starsza aplikacja Order Printer.

Na przykład, jeśli używasz zmiennej date, musisz ją zastąpić zmienną created_at.

Zmienne zamówienia

Zmienne zamówienia są używane inaczej w aplikacji Shopify Order Printer. Aby uzyskać dostęp do zmiennych zamówienia, musisz dodać prefiks order.. Na przykład, aby uzyskać dostęp do zmiennej billing_address, musisz użyć order.billing_address.

Następujące powszechnie używane zmienne zamówienia są dostępne bez prefiksu order.:

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

Na przykład, jeśli chcesz uzyskać dostęp do zmiennej pozycji pojedynczych, możesz użyć line_items lub order.line_items.

Możesz także tworzyć własne aliasy dla szablonu. Na przykład możesz użyć składni Liquid {% assign fulfillments_count = order.fulfillments | size %}, a następnie odwoływać się do niej za pomocą {{ fulfillments_count }} w kodzie.

Zmienna zamówienia
Zmienna w starszej aplikacji Order PrinterZmienna w nowej aplikacji Shopify Order Printer
line_items
  • Zwrócone pozycje pojedyncze nie są uwzględnione w line_items zmiennej. Zapoznaj się z poniższymi szczegółami:
    • Możesz uzyskać dostęp do zwróconych pozycji pojedynczych za pomocą zmiennej refunds.<each>.refund_line_items. Przeanalizuj poniższy przykład.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • W razie potrzeby możesz połączyć zwrócone pozycje pojedyncze z kolekcją line_items. Przeanalizuj poniższy przykład.
      {% 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 %}
    • Upewnij się, że używasz filtra | uniq, aby uniknąć powielania zwróconych pozycji pojedynczych.
  • Pozycje pojedyncze z napiwkami nie są uwzględnione w line_items zmiennej. Zapoznaj się z poniższymi szczegółami:
    • Możesz uzyskać dostęp do pozycji pojedynczych z napiwkami za pomocą zmiennej tip_line_items.
    • W razie potrzeby możesz połączyć tip_line_items z kolekcją line_items. Przeanalizuj poniższy przykład.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Aby naśladować starszą kolekcję line_items aplikacji Order Printer, możesz użyć poniższego przykładowego kodu.
    {% 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_cardUżyj szczegółów płatności na podstawie każdej transakcji z zamówienia za pomocą zmiennej transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateUżyj zmiennej created_at. Użyj filtra date, aby sformatować znacznik czasu, na przykład za pomocą {{ order.created_at | date: "%B %e, %Y" }}.
gatewaysunique_gateways lub transactions.<each>.gateway
order_currencycurrency
processed_atUżyj zmiennej created_at. Przechowuje ona wartość order.processed_at z API GraphQL i oznacza rzeczywisty czas przetwarzania zamówienia, a nie czas jego importu do Shopify. Jest taka sama jak order.processed_at ze starszej wersji aplikacji Order Printer. Możesz użyć filtru date, aby sformatować znacznik czasu, na przykład za pomocą kodu {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtruj order.transactions według statusu kind w składni Liquid za pomocą where lub za pomocą pętli z instrukcją if. Zapoznaj się z poniższymi przykładami.

{% 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" %} ID transakcji: {{ transaction.id }} Rodzaj: {{ transaction.kind }} Kwota: {{ 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_transactionsPrzefiltruj order.transactions pod kątem statusu kind w składni Liquid za pomocą where lub za pomocą pętli z instrukcją if wewnątrz, tak jak w poniższym przykładzie.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. Możesz ją zdefiniować jako zmienną na początku szablonu i odwoływać się do niej wielokrotnie, tak jak w poniższym przykładzie.
{% 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

Zmienne LineItem

Zmienna LineItem
Zmienna w starszej aplikacji Order PrinterZmienna w nowej aplikacji 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

Zmienne realizacji

Zmienna realizacji
Zmienna w starszej aplikacji Order PrinterZmienna w nowej aplikacji Shopify Order Printer
datecreated_at

Zmienne sklepu

Zmienna sklepu
Zmienna w starszej aplikacji Order PrinterZmienna w nowej aplikacji 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

Zmienne adresu

Zmienna adresu
Zmienna w starszej aplikacji Order PrinterZmienna w nowej aplikacji Shopify Order Printer
latitudeJeśli do zmiennej address odwoływano się z atrybutu location, szerokość i długość geograficzna są dostępne w samym obiekcie location.
longitudeJeśli do zmiennej address odwoływano się z atrybutu location, szerokość i długość geograficzna są dostępne w samym obiekcie location.

Zmienne zwrotu kosztów

Zmienna zwrotu kosztów
Zmienna w starszej aplikacji Order PrinterZmienna w nowej aplikacji Shopify Order Printer
dateUżyj zmiennej created_at. Użyj filtra date, aby sformatować znacznik czasu, na przykład za pomocą {{ order.created_at | date: "%B %e, %Y" }}.

Zmienne ShippingLine

Zmienna ShippingLine
Zmienna w starszej aplikacji Order PrinterZmienna w nowej aplikacji Shopify Order Printer
current_priceprice
priceoriginal_price

Zmienne transakcji

Następujące zmienne transakcji zostały usunięte i nie można ich zastąpić w aplikacji Shopify Order Printer:

  • authorization
  • message
  • test

Zmienne wariantu

Zmienna wariantu
Zmienna w starszej aplikacji Order PrinterZmienna w nowej aplikacji Shopify Order Printer
gramsweight

Zmienne metapól

Aby uzyskać dostęp do metapola, musisz określić jego przestrzeń nazw i nie musisz dodawać .value do zmiennej. Dowiedz się więcej o definicjach metapól.

Na przykład zamiast zmiennej product.metafields.manufacturerid.value użyj zmiennej product.metafields.custom.manufacturerid.

Aby zidentyfikować wartości przestrzeni nazw dla każdego metapola, przejdź do strony Dane niestandardowe w panelu administracyjnym Shopify. Definicje metapól są pogrupowane według obiektów, do których się odnoszą, takich jak produkty, warianty lub zamówienia.

Mapowanie filtrów

Mapowanie filtrów
Nazwa filtru w starszej aplikacji Order PrinterNazwa filtru w nowej aplikacji Shopify Order Printer
files_urlfile_url
payment_method i payment_methodsUżyj pola transaction.gateway_display_name w transakcjach zamówienia. Metody płatności nie są już podzielone na kategorie według określonych typów, takich jak {karta kredytowa, karta debetowa, przelew bankowy}. Starsza aplikacja Order Printer mapowała tylko niewielki podzbiór aktualnie działających bramek płatniczych do tych kategorii. Dostawcy bramek płatniczych zarządzają po swojej stronie typami metod płatności używanymi przez klientów.