将模板从 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 仅将当前有效支付网关的一小部分映射到这些类别。支付网关提供商会管理客户使用的付款方式类型。 |