Поиск и устранение неисправностей в импортированных шаблонах Order Printer
Когда вы мигрируете свои шаблоны из устаревшего приложения Order Printer в новое приложение Shopify Order Printer, ваши переменные Liquid обновляются для обеспечения совместимости с новым приложением. В редких случаях может потребоваться устранить неполадки в импортированных шаблонах.
Если импортированные шаблоны печатаются некорректно, возможно, вам потребуется вручную отредактировать код шаблона в новом приложении Shopify Order Printer. Ниже перечислены наиболее распространенные причины некорректного импорта шаблонов.
- Шаблоны включают пользовательский CSS
- Шаблоны содержат метаполя
- Переменные Liquid могут обновляться некорректно
На этой странице вы найдете подробную информацию о том, как устранять возможные проблемы при импорте пользовательских шаблонов в новое приложение Shopify Order Printer.
На этой странице
Обновление распространённых настроек дизайна в CSS
Если переносимые вами шаблоны содержат пользовательский CSS-код, вам может понадобиться вручную обновить его для корректного отображения элементов дизайна, таких как изображения, пользовательские шрифты, логотипы и штрих-коды.
- Добавление логотипа в шаблон
- Добавление изображений в шаблон
- Установка ширины таблиц на 100%
- Отображение миниатюр товаров
- Добавление данных о заказе
- Добавление штрих-кода в шаблон
- Добавление QR-кода в шаблон
- Использование шрифта Google в шаблоне
- Увеличение размера шрифта
Обновление переменных метаполей
Для доступа к метаполю необходимо указать его пространство имен, при этом добавлять .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_itemstax_linesfulfillmentstransactionsrefundsshipping_methodscustomer
Например, если вы хотите получить доступ к переменной позиций заказа, можно использовать line_items или order.line_items.
Вы также можете создавать собственные псевдонимы для своего шаблона. Например, можно использовать синтаксис Liquid {% assign fulfillments_count = order.fulfillments | size %}, а затем обращаться к этому псевдониму в коде с помощью {{ fulfillments_count }}.
| Переменная в старом приложении Order Printer | Переменная в новом приложении Shopify Order Printer |
|---|---|
line_items |
|
credit_card | Используйте платежные данные для каждой транзакции в заказе с помощью переменной transactions.<each>.payment_details. |
current_shipping_price | shipping_price |
date | Используйте переменную created_at. Используйте фильтр date для форматирования временной метки, например {{ order.created_at | date: "%B %e, %Y" }}. |
gateways | unique_gateways или transactions.<each>.gateway |
order_currency | currency |
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 |
Отфильтруйте
|
refund_transactions | Отфильтруйте order.transactions по статусу kind в синтаксисе Liquid с помощью where или с помощью цикла и внутреннего условия if, как в следующем примере.{% assign refund_transactions = order.transactions | where: "kind", "refund" %} |
shipping_line | shipping_methods | first |
shipping_lines | shipping_methods |
show_line_item_taxes | tax_lines.size > 0. Вы можете определить это как переменную в начале шаблона и обращаться к ней несколько раз, как в следующем примере.{% if tax_lines.size > 0 %}
{% assign show_line_item_taxes = true %}
{% else %}
{% assign show_line_item_taxes = false %}
{% endif %} |
total_tax | tax_price |
total_paid | net_payment |
Переменные товарной позиции
| Переменная в старом приложении Order Printer | Переменная в новом приложении Shopify Order Printer |
|---|---|
fulfillable_quantity | quantity - successfully_fulfilled_quantity |
fulfilled | quantity == successfully_fulfilled_quantity |
name | title |
product_title | product.title |
unit_discount | quantity ? line_level_total_discount / quantity : 0 |
variant_title | variant.title |
weight | grams |
Переменные выполнения заказа
| Переменная в старом приложении Order Printer | Переменная в новом приложении Shopify Order Printer |
|---|---|
date | created_at |
Переменные магазина
| Переменная в старом приложении Order Printer | Переменная в новом приложении Shopify Order Printer |
|---|---|
owner | account_owner.name |
address | shop.address.address1 |
address2 | shop.address.address2 |
city | shop.address.city |
country | shop.address.country |
country_code | shop.address.country_code |
province | shop.address.province |
province_code | shop.address.province_code |
zip | shop.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" }}. |
Переменные способа доставки
| Переменная в старом приложении Order Printer | Переменная в новом приложении Shopify Order Printer |
|---|---|
current_price | price |
price | original_price |
Переменные транзакции
Следующие переменные транзакций были удалены и не могут быть заменены в приложении Order Printer от Shopify:
authorizationmessagetest
Переменные варианта
| Переменная в старом приложении Order Printer | Переменная в новом приложении Shopify Order Printer |
|---|---|
grams | weight |
Переменные метаполей
Чтобы получить доступ к метаполю, необходимо указать его пространство имён (Namespace), при этом добавлять .value к переменной не нужно.
Подробнее об определениях метаполей.
Например, вместо переменной product.metafields.manufacturerid.value используйте переменную product.metafields.custom.manufacturerid.
Чтобы определить значения пространства имён (Namespace) для каждого метаполя, перейдите на страницу «Пользовательские данные» в панели администратора Shopify. Определения метаполей сгруппированы по объектам, к которым они относятся, таким как товары, варианты или заказы.
Соответствие фильтров
| Название фильтра в предыдущей версии приложения Order Printer | Название фильтра в новом приложении Shopify Order Printer |
|---|---|
files_url | file_url |
payment_method и payment_methods | Используйте поле transaction.gateway_display_name в транзакциях заказа. Способы оплаты больше не разделяются на определённые типы, например {кредитная карта, дебетовая карта, банковский перевод}. Предыдущая версия приложения Order Printer сопоставляла с этими категориями лишь небольшую часть действующих в настоящее время платёжных шлюзов. Поставщики платёжных шлюзов сами управляют типами способов оплаты, которые используют клиенты. |