从 Order Printer 应用迁移到 Shopify Order Printer
如果您的旧版 Order Printer 应用中有任何自定义模板,则需要将模板迁移到 Shopify Order Printer 应用。
若要迁移模板,您可以将现有模板导入 Shopify Order Printer 应用。但是,新的 Shopify Order Printer 应用与旧版 Order Printer 应用的实现略有不同。这意味着某些现有模板最初可能无法工作,您可能需要对模板的代码执行一些调整。
若要使模板能够适用于新应用,您需要将旧版变量替换为新变量。例如,如果您使用 date
变量,则需要将其替换为 created_at
变量。
在此页面上,您可以找到在 Shopify Order Printer 应用中需要替换为新变量的变量列表。
迁移现有模板的注意事项
将现 有模板迁移到 Shopify Order Printer 应用前,请查看以下注意事项:
- 若要迁移现有模板,您需要熟悉 HTML、CSS 和 Liquid。Shopify 模板支持团队可以在 Shopify 设计政策范围内帮助您进行微调。
- 查看 Shopify Order Printer 的 Liquid 变量和筛选条件参考,以了解所有受支持的模板自定义。
- 如果您的现有模板使用自定义 CSS,则需要手动转移和调整新应用中的代码。
- 若要在 Shopify Order Printer 应用中访问订单变量,您需要添加 order 前缀。
- 导入现有模板时,不会导入元字段。您可能需要手动迁移包含元字段的模板。
将现有模板迁移到 Shopify Order Printer 应用
如果您的旧版 Order Printer 应用中有现有模板,则您可以将它们导入 Shopify Order Printer 应用。您无法导入特定模板,只能同时导入所有模板。
步骤:
在 Shopify 后台中,转到设置 > 应用和销售渠道。
点击 Order Printer。
点击打开应用。
点击模板。
点击导入。
在对话框中,点击导入。
预览模板并确保模板正确显示。
可选:打印测试文档。
在 Shopify Order Printer 应用中使用订单变量
订单变量在 Shopify Order Printer 应用中的使用方式有所不同。若要访问订单变量,您需要添加 order.
前缀。例如,若要访问 billing_address
变量,您需要使用 order.billing_address
。
无需添加 order.
前缀即可访问以下常用订单变量:
-
line_items
-
tax_lines
-
fulfillments
-
transactions
-
refunds
-
shipping_methods
-
customer
例如,如果要访问订单项目变量,则可以使用 line_items
或 order.line_items
。
您还可以为模板创建您自己的别名。例如,您可以使用 {% assign fulfillments_count = order.fulfillments | size %}
Liquid 语法,然后通过在代码中使用 {{ fulfillments_count }}
来引用它。
变量映射
Shopify Order Printer 应用与旧版 Order Printer 应用使用不同的变量。如果您的现有模板使用此部分列出的任何变量,则您需要将旧变量替换为新变量。
例如,如果您使用 date
变量,则需要将其替换为 created_at
变量。
订单变量
旧版 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" }} 。 |
网关 |
unique_gateways 或 transactions.<each>.gateway
|
order_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 |
通过
|
refund_transactions | 通过 order.transactions 筛选 - 针对 kind 状态使用内含 where 或内含循环和 if 的 Liquid 语法,如以下示例所示。{% 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 |
LineItem 变量
旧版 Order Printer 应用中的变量 | 新版 Shopify Order Printer 应用中的变量 |
---|---|
fulfillable_quantity | quantity - successfully_fulfilled_quantity |
已发货 | quantity == successfully_fulfilled_quantity |
姓名 | 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 | 创建时间 |
商店变量
旧版 Order Printer 应用中的变量 | 新版 Shopify Order Printer 应用中的变量 |
---|---|
所有者 | account_owner.name |
address | shop.address.address1 |
address2 | shop.address.address2 |
city | shop.address.city |
国家/地区 | shop.address.country |
country_code | shop.address.country_code |
province | shop.address.province |
province_code | shop.address.province_code |
邮编 | shop.address.zip |
地址变量
旧版 Order Printer 应用中的变量 | 新版 Shopify Order Printer 应用中的变量 |
---|---|
latitude | 如果通过 location 属性引用 address 变量,则 latitude 和 longitude 可用作 location 对象本身的变量。 |
longitude | 如果通过 location 属性引用 address 变量,则 latitude 和 longitude 可用作 location 对象本身的变量。 |
退款变量
旧版 Order Printer 应用中的变量 | 新版 Shopify Order Printer 应用中的变量 |
---|---|
date | 使用 created_at 变量。使用 date 筛选条件设置时间戳的格式,例如使用 {{ order.created_at | date: "%B %e, %Y" }} 。 |
ShippingLine 变量
旧版 Order Printer 应用中的变量 | 新版 Shopify Order Printer 应用中的变量 |
---|---|
current_price | price |
price | original_price |
交易变量
以下交易变量已被删除,无法在 Shopify Order Printer 应用中替换:
-
authorization
-
message
-
test
多属性变量
旧版 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 Printernter 仅将当前有效支付网关的一小部分映射到这些类别。支付网关提供商会管理客户使用的付款方式类型。 |