Solução de problemas com os modelos importados do Order Printer

Ao migrar os modelos do app Order Printer legado para o novo app Shopify Order Printer, as variáveis do Liquid são atualizadas para garantir a compatibilidade com o novo app. Em casos raros, pode ser necessário solucionar problemas nos modelos importados.

Se os modelos importados não forem impressos corretamente, talvez seja preciso editar manualmente o código do modelo no novo app Shopify Order Printer. Analise os motivos mais comuns pelos quais os modelos podem não ser importados corretamente:

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

Nesta página, você encontra informações detalhadas sobre como solucionar possíveis problemas ao importar os modelos personalizados para o novo app Shopify Order Printer.

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

Caso os modelos que você está transferindo incluam CSS personalizado, pode ser necessário atualizar manualmente o código CSS neles para exibir corretamente elementos de design, como imagens, fontes personalizadas, logos ou códigos de barras.

Atualização de variáveis de metacampo

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

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 de cada metacampo, consulte a página Dados personalizados no admin da Shopify. As definições de metacampo são agrupadas pelos objetos a que se referem, como produtos, variantes ou pedidos.

Atualização de variáveis comuns do Liquid

Na maioria dos casos, as variáveis do Liquid são atualizadas automaticamente durante o processo de migração. No entanto, se os modelos não forem migrados corretamente e você usar alguma das variáveis listadas nesta seção, pode ser necessário substituir manualmente as variáveis antigas por novas. O app Order Printer da Shopify usa variáveis diferentes das do app Order Printer legado.

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

Variáveis de pedido

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

As seguintes variáveis de pedido de uso comum podem ser acessadas sem o prefixo order.:

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

Por exemplo, para acessar a variável de itens de linha, você pode usar line_items ou order.line_items.

Você também pode criar aliases próprios para o modelo. Por exemplo, pode usar a sintaxe do Liquid {% assign fulfillments_count = order.fulfillments | size %} e, em seguida, fazer referência a ela com {{ fulfillments_count }} no código.

Variável de pedido
Variável no app Order Printer legadoVariável no novo app Order Printer da Shopify
line_items
  • Itens de linha reembolsados não são incluídos na line_items variável. Confira as informações a seguir:
    • É possível acessar os itens de linha reembolsados com a variável refunds.<each>.refund_line_items. Veja o exemplo a seguir.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • Caso queira, você pode associar os itens de linha reembolsados à coleção line_items. Veja 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 %}
    • Certifique-se de incluir o filtro | uniq para evitar a duplicação dos itens de linha reembolsados.
  • Itens de linha de gorjeta não são incluídos na line_items variável. Confira as informações a seguir:
    • É possível acessar os itens de linha de gorjeta com a variável tip_line_items.
    • Caso queira, você pode associar os tip_line_items à coleção line_items. Veja o exemplo a seguir.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Para reproduzir a coleção line_items do Order Printer legado, é possível usar 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 de 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" }}.
gatewaysunique_gateways ou transactions.<each>.gateway
order_currencycurrency
processed_atUse a variável created_at. Ela contém o valor de order.processed_at da GraphQL API e corresponde ao momento real em que o pedido é processado, não ao momento em que ele é importado para a Shopify. É o mesmo que order.processed_at do app Order Printer legado. Use o filtro date para formatar a marcação de data e hora, como em {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtre order.transactions pelo status kind na sintaxe do Liquid com where ou com um loop e uma instrução if interna. Confira 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 em order.transactions pelo status kind na sintaxe do Liquid com where ou com looping e um if inserido, conforme o exemplo a seguir.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. É possível definir esse item como uma variável no início do modelo e referir-se a ele várias vezes, como no exemplo a seguir.
{% 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 de LineItem

Variável de LineItem
Variável no app Order Printer legadoVariável no novo app Order Printer da Shopify
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

Variáveis de processamento de pedidos

Variável de processamento de pedidos
Variável no app Order Printer legadoVariável no novo app Order Printer da Shopify
datecreated_at

Variáveis de shop

Variável de shop
Variável no app Order Printer legadoVariável no novo app Order Printer da Shopify
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

Variáveis de endereço

Variável de endereço
Variável no app Order Printer legadoVariável no novo app Order Printer da Shopify
latitudeSe a variável address foi referenciada do atributo location, a latitude e a longitude estarão disponíveis no próprio objeto location.
longitudeSe a variável address foi referenciada do atributo location, a latitude e a longitude estarão disponíveis no próprio objeto location.

Variáveis de reembolso

Variável de reembolso
Variável no app Order Printer legadoVariável no novo app Order Printer da Shopify
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 de ShippingLine

Variável de ShippingLine
Variável no app Order Printer legadoVariável no novo app Order Printer da Shopify
current_priceprice
priceoriginal_price

Variáveis de transação

As seguintes 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 app Order Printer legadoVariável no novo app Order Printer da Shopify
gramsweight

Variáveis de metacampo

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

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

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

Mapeamento de filtros

Mapeamento de filtros
Nome do filtro no app Order Printer legadoNome do filtro no novo app Order Printer da Shopify
files_urlfile_url
payment_method e payment_methodsUse o campo transaction.gateway_display_name nas transações de pedidos. As formas de pagamento não são mais categorizadas em tipos específicos, como {cartão de crédito, cartão de débito, transferência bancária}. O app Order Printer legado mapeava apenas um pequeno subconjunto dos gateways de pagamento atuais para essas categorias. Os provedores de gateway de pagamento gerenciam os tipos de formas de pagamento usadas pelos clientes.