Отстраняване на неизправности с импортираните Ви шаблони за Order Printer

Когато мигрирате шаблоните си от старото приложение Order Printer към новото приложение Shopify Order Printer, Вашите променливи на Liquid се актуализират, за да се гарантира съвместимост с новото приложение. В редки случаи може да се наложи да отстранявате неизправности в импортираните си шаблони.

Ако импортираните Ви шаблони не се отпечатват правилно, може да се наложи ръчно да редактирате кода на шаблона си в новото приложение Shopify Order Printer. Прегледайте следните най-често срещани причини, поради които шаблоните може да не се импортират правилно:

  • Шаблоните включват персонализиран CSS
  • Шаблоните съдържат метаполета
  • Променливите на Liquid може да не се актуализират правилно

На тази страница можете да намерите подробна информация как да отстранявате потенциални проблеми при импортирането на персонализираните Ви шаблони в новото приложение Shopify Order Printer.

Актуализиране на често срещани CSS персонализации на дизайна

Ако шаблоните, които прехвърляте, включват персонализиран CSS, тогава може да се наложи ръчно да актуализирате CSS кода в шаблоните си, за да показвате правилно елементи на дизайна, като например изображения, персонализирани шрифтове, лога или баркодове.

Актуализиране на променливите на метаполета

За достъп до метаполе трябва да посочите пространството от имена на метаполето, като не е необходимо да добавяте .value към променливата. Научете повече за дефинициите на метаполета.

Например вместо променливата product.metafields.custom.manufacturerid.value, използвайте променливата product.metafields.custom.manufacturerid.

За да идентифицирате стойностите на пространството от имена за всяко метаполе, вижте страницата Персонализирани данни във Вашия администраторски панел на Shopify. Дефинициите на метаполета са групирани по обектите, към които се отнасят, като например продукти, варианти или поръчки.

Актуализиране на често срещани променливи на Liquid

В повечето случаи Вашите променливи на Liquid се актуализират автоматично по време на процеса на мигриране. Въпреки това, ако шаблоните Ви не се мигрират правилно и използвате някоя от променливите, изброени в този раздел, тогава може да се наложи ръчно да замените старите си променливи с нови. Приложението Shopify Order Printer използва различни променливи от наследеното приложение Order Printer.

Например, ако използвате променливата date, тогава трябва да я замените с променливата created_at.

Променливи на поръчката

Променливите на поръчката се използват по различен начин в приложението Shopify Order Printer. За да получите достъп до променливите на поръчката, трябва да добавите префикса order.. Например, за да получите достъп до променливата billing_address, трябва да използвате order.billing_address.

Следните често използвани променливи на поръчката са достъпни без префикса order.:

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

Например, ако искате да получите достъп до променливата line_items, можете да използвате line_items или order.line_items.

Можете също така да създавате свои собствени псевдоними за Вашия шаблон. Например можете да използвате синтаксиса на Liquid {% assign fulfillments_count = order.fulfillments | size %} и след това да се обърнете към него, като използвате {{ fulfillments_count }} в своя код.

Променлива на поръчката
Променлива в наследеното приложение Order PrinterПроменлива в новото приложение Shopify Order Printer
line_items
  • Редове с възстановена сума не се включват в line_items променлива. Прегледайте следните подробности:
    • Можете да осъществите достъп до възстановените редове с помощта на променливата refunds.<each>.refund_line_items. Прегледайте следния пример.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • Можете да присъедините възстановените редове към колекцията line_items, ако желаете. Прегледайте следния пример.
      {% 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 %}
    • Трябва да се уверите, че включвате филтъра | uniq, за да избегнете дублиране на редовете с възстановена сума.
  • Редове за бакшиш не се включват в line_items променлива. Прегледайте следните подробности:
    • Можете да получите достъп до редовете за бакшиш, като използвате променливата tip_line_items.
    • Можете да присъедините tip_line_items към колекцията line_items, ако желаете. Прегледайте следния пример.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • За да имитирате наследената колекция line_items на Order Printer, можете да използвате следния примерен код.
    {% 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_cardИзползвайте подробностите за плащане от всяка трансакция на поръчката с променливата transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateИзползвайте променливата created_at. Използвайте филтъра date, за да форматирате клеймото за дата и час, например с {{ order.created_at | date: "%B %e, %Y" }}.
gatewaysunique_gateways или transactions.<each>.gateway
order_currencycurrency
processed_atИзползвайте променливата `created_at`. Тя съдържа стойността на `order.processed_at` от GraphQL API и представлява действителното време, в което поръчката е обработена, а не времето, в което е импортирана в Shopify. Тя е същата като `order.processed_at` от предишната версия на приложението Order Printer. Можете да използвате филтъра `date`, за да форматирате клеймото за дата и час, например с `{{ order.created_at | date: "%B %e, %Y" }}`.
payment_transactions

Филтрирайте `order.transactions` по статус `kind` в синтаксиса на Liquid с `where` или чрез цикъл и `if` в него. Прегледайте следните примери.

{% 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.kind }} Сума: {{ 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_transactionsФилтрирайте order.transactions за състоянието kind в синтаксиса на Liquid чрез where или чрез цикъл с if вътре в него, както е в следния пример.
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_methods
show_line_item_taxestax_lines.size > 0. Можете да я дефинирате като променлива в началото на шаблона и да се обръщате към нея многократно, както е в следния пример.
{% 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

Променлива LineItem
Променлива в наследеното приложение Order PrinterПроменлива в новото приложение 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

Променливи за обработка и доставка

Променлива за обработка и доставка
Променлива в наследеното приложение Order PrinterПроменлива в новото приложение Shopify Order Printer
datecreated_at

Променливи на магазина

Променлива на магазина
Променлива в наследеното приложение Order PrinterПроменлива в новото приложение 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

Променливи за адрес

Променлива за адрес
Променлива в наследеното приложение Order PrinterПроменлива в новото приложение Shopify Order Printer
latitudeАко променливата address е била реферирана от атрибута location, тогава географската ширина и дължина са налични в самия обект location.
longitudeАко променливата address е била реферирана от атрибута location, тогава географската ширина и дължина са налични в самия обект location.

Променливи за възстановяване на сума

Променлива за възстановяване на сума
Променлива в наследеното приложение Order PrinterПроменлива в новото приложение Shopify Order Printer
dateИзползвайте променливата created_at. Използвайте филтъра date, за да форматирате клеймото за дата и час, например с {{ order.created_at | date: "%B %e, %Y" }}.

Променливи ShippingLine

Променлива ShippingLine
Променлива в наследеното приложение Order PrinterПроменлива в новото приложение Shopify Order Printer
current_priceprice
priceoriginal_price

Променливи за транзакции

Следните променливи за транзакции са премахнати и не могат да бъдат заменени в приложението Shopify Order Printer:

  • authorization
  • message
  • test

Променливи за варианти

Променлива за вариант
Променлива в наследеното приложение Order PrinterПроменлива в новото приложение Shopify Order Printer
gramsweight

Променливи за метаполета

За да получите достъп до метаполе, трябва да посочите неговото пространство от имена (Namespace) и не е необходимо да добавяте .value към променливата. Научете повече за дефинициите на метаполета.

Например, вместо променливата product.metafields.manufacturerid.value, използвайте променливата product.metafields.custom.manufacturerid.

За да идентифицирате стойностите на пространството от имена (Namespace) за всяко метаполе, направете справка със страницата Персонализирани данни във Вашия администраторски панел на Shopify. Дефинициите на метаполетата са групирани по обектите, за които се отнасят, като например продукти, варианти или поръчки.

Съпоставяне на филтри

Съпоставяне на филтри
Име на филтър в старото приложение Order PrinterИме на филтър в новото приложение Shopify Order Printer
files_urlfile_url
payment_method и payment_methodsИзползвайте полето transaction.gateway_display_name за транзакциите по поръчката. Начините на плащане вече не се категоризират в конкретни типове, като например {кредитна карта, дебитна карта, банков превод}. Старото приложение Order Printer е съпоставяло само малка част от функциониращите в момента платежни шлюзове към тези категории. Доставчиците на платежни шлюзове управляват видовете начини на плащане, използвани от клиентите, от своя страна.