Solução de problemas para os modelos Order Printer importados

Ao migrar seu modelo do antigo app Order Printer para o novo Shopify Order Printer, as variáveis do Liquid são atualizadas para garantir a compatibilidade com o novo app. Em raras ocasiões, pode ser necessário solucionar problemas no seu modelo importado.

Se o seu modelo importado não estiver imprimindo corretamente, talvez seja necessário editar manualmente o código do modelo no novo app Shopify Order Printer. Analise os seguintes motivos mais comuns pelos quais o modelo pode não ser importado corretamente:

  • Os modelos incluem o CSS personalizado
  • Os modelos contêm metacampos
  • As variáveis do Liquid podem não ser implementadas corretamente

Nesta página, você pode encontrar informações detalhadas sobre como solucionar possíveis problemas ao importar seu modelo personalizado para o novo app Shopify Order Printer.

Atualização de personalizações comuns de design do CSS

Se o modelo que você está transferindo incluir CSS personalizado, talvez seja necessário atualizar manualmente o código do CSS no seu modelo para exibir corretamente elementos de design, como imagens, fonte personalizada, logotipo ou código de barras.

Atualizar variáveis de metacampo

Para acessar um metacampo, você precisa especificar o namespace, e não é necessário adicionar .value à variável. Saiba mais sobre definições de metacampos.

Por exemplo, em vez da variável product.metafields.custom.manufacturerid.value, use a variável product.metafields.custom.manufacturerid.

Para identificar os valores de namespace em cada metacampo, consulte a página Dados personalizados no admin da Shopify. As definições de metacampos são agrupadas pelos objetos aos quais se referem, como produtos, variantes ou pedidos.

Atualizar variáveis comuns do Liquid

Na maioria dos casos, as variáveis do Liquid são atualizadas automaticamente durante o processo de migração. Entretanto, se o seu modelo não migrar corretamente e você usar qualquer uma das variáveis listadas nesta seção, talvez seja necessário substituir suas variáveis antigas por novas manualmente. O app Shopify Order Printer usa variáveis distintas do antigo Order Printer.

Por exemplo, se você usa a variável date, precisa substituí-la por created_at.

Variáveis do pedido

As variáveis de pedido são usadas de modo diferente no app Shopify Order Printer. Para acessá-las, é preciso adicionar o prefixo order.. Por exemplo, para acessar a variável billing_address, use order.billing_address.

Estas variáveis de pedido usadas comumente podem ser acessadas sem o prefixo order.:

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

Por exemplo, se você quiser acessar a variável de itens de linha, poderá usar line_items ou order.line_items.

Também é possível criar seu alias para o modelo. Por exemplo, use a sintaxe do Liquid {% assign fulfillments_count = order.fulfillments | size %} e, em seguida, faça referência com {{ fulfillments_count }} em seu código.

Variáveis do pedido
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
line_items
  • Os itens de linha reembolsados não são incluídos na variável line_items. Analise as seguintes informações:
    • Acesse itens de linha reembolsados com a variável refunds.<each>.refund_line_items . Analise o exemplo a seguir.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • É possível unir os itens de linha reembolsados com a coleção line_items, se você quiser. Analise o exemplo a seguir.
      {% 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 %}
    • Inclua o filtro | uniq para evitar duplicação dos itens de linha reembolsados.
  • Os itens de linha de gorjeta não são incluídos na variável line_items. Analise as seguintes informações:
    • É possível acessá-los com a variável tip_line_items.
    • Você tem a opção de unir tip_line_items à coleção line_items, se quiser. Analise o exemplo a seguir.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Para imitar a coleção line_items herdada do Order Printer, use o código de exemplo a seguir.
    {% 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_cardUse as informações de pagamento com base em cada transação do pedido com a variável transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateUse a variável created_at. Use o filtro date para formatar a marcação de data e hora, por exemplo, com {{ order.created_at | date: "%B %e, %Y" }}.
gateways unique_gateways ou transactions.<each>.gateway
order_currencyMoeda
processed_atUse a variável created_at. que contém o valor de order.processed_at da API GraphQL. Isso significa o tempo real em que o pedido é processado, em vez do momento em que o pedido é importado para a Shopify. É o mesmo que order.processed_at herdado do app Order Printer. Use o filtro date para formatar a marcação de data e hora, por exemplo, com {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtre order.transactions para o status kind na sintaxe Liquid com where ou com loop e if dentro. Analise os exemplos a seguir.

{% 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_transactionsFiltre order.transactions para o status kind na sintaxe Liquid com where ou com loop e if dentro, como no exemplo a seguir. {% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxes tax_lines.size > 0. É possível defini-la como uma variável no início do modelo e fazer referência várias vezes, como no seguinte exemplo:
{% 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

Variáveis LineItem

Variável LineItem
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
fulfillable_quantityquantity - successfully_fulfilled_quantity
processadoquantity == successfully_fulfilled_quantity
Nometitle
product_titleproduct.title
unit_discountquantity ? line_level_total_discount/quantidade: 0
variant_titlevariant.title
weightgramas

Variáveis de processamento

Variável de processamento de pedidos
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
datecreated_at

Variáveis da loja

Variável do Shop
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
proprietárioaccount_owner.name
endereçoshop.address.address1
address2shop.address.address2
cityshop.address.city
paísshop.address.country
country_codeshop.address.country_code
provinceshop.address.province
province_codeshop.address.province_code
zipshop.address.zip

Variáveis de endereço

Variável de endereço
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
latitudeSe houver referência à variável address no atributo location, agora a latitude e a longitude estarão disponíveis diretamente no próprio objeto location.
longitudeSe houver referência à variável address no atributo location, agora a latitude e a longitude estarão disponíveis diretamente no próprio objeto location.

Variáveis do reembolso

Variável de reembolso
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
dateUse a variável created_at. Use o filtro date para formatar a marcação de data e hora, por exemplo, com {{ order.created_at | date: "%B %e, %Y" }}.

Variáveis ShippingLine

Variável ShippingLine
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
current_priceprice
priceoriginal_price

Variáveis de transação

Estas variáveis de transação foram removidas e não podem ser substituídas no app Shopify Order Printer:

  • authorization
  • message
  • test

Variáveis de variante

Variável de variante
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
gramasweight

Variáveis de metacampo

Para acessar um metacampo, você precisa especificar o Namespace, e não é necessário adicionar .value à variável. Saiba mais sobre definições de metacampos.

Por exemplo, em vez da variável product.metafields.manufacturerid.value, use a variável product.metafields.custom.manufacturerid.

Para identificar os valores de Namespace em cada metacampo, consulte a página Dados personalizados no admin da Shopify. As definições de metacampos são agrupadas pelos objetos aos quais se referem, como produtos, variantes ou pedidos.

Mapeamento de filtro

Mapeamento de filtro
Filtrar nome no app herdado Order PrinterFiltrar nome no novo app Shopify Order Printer
files_urlfile_url
payment_method e payment_methods Use o campo transaction.gateway_display_name em transações de pedido. As formas de pagamento não são mais categorizadas em tipos específicos, como {credit card, debit card, bank transfer}. O Order Printer antigo mapeou apenas um pequeno subconjunto de gateways de pagamento em funcionamento para essas categorias. Os provedores de gateway de pagamento gerenciam os tipos de formas de pagamento usadas pelos clientes.
Não encontrou as respostas que está procurando? Estamos sempre à disposição para ajudar você.