從 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 應用程式之前,請檢視下列考量事項:

將現有範本移轉到 Shopify Order Printer 應用程式

如果您有舊版 Order Printer 應用程式的範本,可以將這些範本匯入 Shopify Order Printer 應用程式。您無法匯入特定範本,只能同時匯入所有範本。

步驟如下:

  1. 在 Shopify 管理介面中,點擊「設定」>「應用程式和銷售管道」。
  2. 按一下「Order Printer」。
  3. 點擊「開啟應用程式」。

  4. 點擊「範本」。

  5. 按一下「匯入」。

  6. 在對話方塊中,按一下「匯入」。

  7. 查看範本是否包含舊版變數,然後將您找到的舊版變數更換為新版變數

  8. 預覽範本並確保範本正確顯示。

  9. 選用:列印測試文件。

在 Shopify Order Printer 應用程式中使用訂單變數

在 Shopify Order Printer 應用程式中,使用訂單變數的方式有所不同,即存取訂單變數時,需要加上 order. 前綴。例如,若要存取 billing_address 變數,您必須使用 order.billing_address

下列常用訂單變數無需 order. 前綴即可存取:

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

例如,若要存取商品項目變數,可以使用 line_itemsorder.line_items

您也可以為範本建立專屬別名,例如使用 Liquid 語法「{% assign fulfillments_count = order.fulfillments | size %}」,然後在程式碼中使用 {{ fulfillments_count }} 來參照該語法。

變數對應

Shopify Order Printer 應用程式與舊版 Order Printer 應用程式使用不同的變數。如果您的現有範本使用本節列出的任何變數,請將舊版變數更換為新版變數。

舉例來說,如果您使用 date 變數,則需更換為 created_at 變數。

訂單變數

訂單變數
舊版 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 %}
  • 若要模擬舊版 Order Printer line_items 集合,可以使用下列範例程式碼。
    {% 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" }}
閘道 unique_gatewaystransactions.<each>.gateway
order_currency貨幣
processed_at使用 created_at 變數。此變數會存放 order.processed_at (來自 GraphQL API) 的值,且表示系統處理訂單的實際時間,而不是訂單匯入 Shopify 的時間。它與 order.processed_at (來自舊版 Order Printer 應用程式) 相同。您可以使用 date 篩選條件設定時間戳記的格式,例如使用
payment_transactions

order.transactions 進行篩選;在 Liquid 語法中使用 where 或是使用迴圈搭配 if 來篩選 kind 狀態。請檢視下列範例。

{% 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" %} 交易 ID:{{ 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_transactionsorder.transactions 進行篩選;在 Liquid 語法中使用 where 或是使用迴圈搭配 if 來篩選 kind 狀態,如下列範例所示。
{% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_lineshipping_methods | first
shipping_linesshipping_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_taxtax_price
total_paidnet_payment

LineItem 變數

LineItem 項目變數
舊版 Order Printer 應用程式中的變數新版 Shopify Order Printer 應用程式中的變數
fulfillable_quantityquantity - successfully_fulfilled_quantity
已出貨quantity == successfully_fulfilled_quantity
名稱標題
product_titleproduct.title
unit_discountquantity ? line_level_total_discount / quantity : 0
variant_titlevariant.title
重量grams

訂單出貨變數

訂單出貨變數
舊版 Order Printer 應用程式中的變數新版 Shopify Order Printer 應用程式中的變數
datecreated_at

商店變數

Shop 變數
舊版 Order Printer 應用程式中的變數新版 Shopify Order Printer 應用程式中的變數
擁有者account_owner.name
地址shop.address.address1
address2shop.address.address2
cityshop.address.city
國家/地區shop.address.country
country_codeshop.address.country_code
provinceshop.address.province
province_codeshop.address.province_code
郵遞區號shop.address.zip

地址變數

地址變數
舊版 Order Printer 應用程式中的變數新版 Shopify Order Printer 應用程式中的變數
latitude如果 location 屬性參照了 address 變數,則 location 物件本身就有經緯度。
longitude如果 location 屬性參照了 address 變數,則 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價格
價格original_price

交易變數

以下交易變數已經移除,因此無法在 Shopify Order Printer 應用程式中更換:

  • authorization
  • message
  • test

子類變數

子類變數
舊版 Order Printer 應用程式中的變數新版 Shopify Order Printer 應用程式中的變數
grams重量

中繼欄位變數

若要存取中繼欄位,需指定中繼欄位的命名空間,而無需將 .value 新增至變數。深入瞭解中繼欄位定義

例如,使用 product.metafields.custom.manufacturerid 變數,而非 product.metafields.manufacturerid.value 變數。

若要識別每個中繼欄位的命名空間值,請參閱 Shopify 管理介面中的自訂資料頁面。中繼欄位定義會依所參照的物件 (如商品、子類或訂單) 進行分組。

篩選條件對應

篩選條件對應
舊版 Order Printer 應用程式中的篩選條件名稱新版 Shopify Order Printer 應用程式中的篩選條件名稱
files_urlfile_url
payment_methodpayment_methods 使用訂單交易的 transaction.gateway_display_name 欄位。付款方式已不再分類為特定類型,例如信用卡、簽帳卡和銀行轉帳。舊版 Order Printer 應用程式只能將目前使用的一小部分付款閘道對應到這些類別。付款閘道供應商會自行管理顧客使用的付款方式類型。
沒有找到您需要的答案嗎?我們很樂意為您提供協助。