导入的 Order Printer 模板问题排查
从旧版 Order Printer 应用向新的 Shopify Order Printer 应用迁移模板时,您的 Liquid 变量会更新以确保与新应用的兼容性。在极少数情况下,您可能需要对导入的模板进行问题排查。
如果您导入的模板无法正常打印,则您可能需要手动编辑您在新的 Shopify Order Printer 应用中的模板代码。请查看以下模板可能无法正确导入的最常见原因:
- 模板包含自定义 CSS
- 模板包含元字段
- Liquid 变量可能无法正确更新
在此页面上,您可以找到关于在将自定义模板导入到新的 Shopify Order Printer 应用时如何排查潜在问题的详细信息。
更新常见的 CSS 设计自定义项
如果您迁移的模板包含自定义 CSS,那么您可能需要手动更新模板中的 CSS 代码,才能正确显示图片、自定义字体、logo 或条码等设计元素。
更新元字段变量
要访问元字段,您需要指定该元字段的命名空间,并且无需将 .value 添加到变量中。详细了解元字段定义。
例如,请使用 product.metafields.custom.manufacturerid 变量,而不是 product.metafields.custom.manufacturerid.value 变量。
要查找每个元字段的命名空间值,请参阅 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。
您还可以为模板创建自己的别名。例如,您可以使用 {% assign fulfillments_count = order.fulfillments | size %} Liquid 语法,然后在代码中使用 {{ 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 变量。它包含来自 GraphQL API 的 order.processed_at 的值,表示订单处理的实际时间,而不是订单导入 Shopify 的时间。它与旧版 Order Printer 应用中的 order.processed_at 相同。您可以使用 date 筛选器来设置时间戳的格式,例如使用 {{ order.created_at | date: "%B %e, %Y" }}。 |
payment_transactions |
在 Liquid 语法中,通过 where 或通过循环和内部
|
refund_transactions | 使用 Liquid 语法中的 where,或者使用循环和其内的 if,通过 order.transactions 筛选出对应的 kind 状态,如下例所示。{% 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 |
交易变量
以下交易变量已被删除,无法在 Shopify Order Printer 应用中替换:
authorizationmessagetest
多属性变量
| 旧版 Order Printer 应用中的变量 | 新版 Shopify Order Printer 应用中的变量 |
|---|---|
grams | weight |
元字段变量
若要访问某个元字段,您需要指定该元字段的 命名空间,并且无需将 .value 添加到变量中。
详细了解元字段定义。
例如,使用 product.metafields.custom.manufacturerid 变量,而不是 product.metafields.manufacturerid.value 变量。
若要确定每个元字段的 命名空间 值,请参阅 Shopify 后台中的自定义数据页面。元字段定义按其引用的对象(例如产品、多属性或订单)进行分组。
筛选器映射
| 旧版 Order Printer 应用中的筛选器名称 | 新版 Shopify Order Printer 应用中的筛选器名称 |
|---|---|
files_url | file_url |
payment_method 和 payment_methods | 请在订单交易中使用 transaction.gateway_display_name 字段。付款方式不再归类到特定类型,例如 {信用卡、借记卡、银行转账}。旧版 Order Printer 应用仅将当前可用的一小部分支付网关映射到这些类别。支付网关提供商会自行管理客户使用的付款方式类型。 |