Order PrinterアプリからShopify Order Printerに移行する
Shopify Order PrinterでのLiquid実装環境は、元のOrder Printerとは若干異なります。テンプレートを移行するには、既存のテンプレートからコードを手動でコピーし、新しいアプリに貼り付けて、このガイドで説明されている必要な調整を行う必要があります。テンプレートに追加されているカスタムCSSも、新しいアプリに転送して調整する必要があります。
グローバルネームスペースから削除されているOrder属性
Order属性にアクセスするには、その前にorder.
を付けます。たとえば、billing_address
はorder.billing_address
としてアクセスするようになりました。
便宜上、一般的に使用されるいくつかのOrder属性には、order.
プリフィックスがなくても引き続きアクセス可能です。
-
line_items
-
tax_lines
-
fulfillments
-
transactions
-
discounts
-
refunds
-
shipping_methods
-
customer
これらの変数には、fulfillments
またはorder.fulfillments
などとしてアクセスできます。
フィールドの廃止
最新のShopifyデータモデルに基づき、いくつかのオブジェクトにある複数のフィールドが改名または廃止されました。以下のセクションでは、その代替手段や回避策について説明します。テンプレートがそれらのいずれかにアクセスする場合は、用意されている代替のフィールドまたはコードフラグメントに変更してください。
注文する
実装の違い
-
line_items
. 返金済みの項目は、line_itemsコレクションに含まれません。返金済みの項目には、refunds.<each>.refunded_line_items
を通じてアクセスしてください。
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
credit_card
:注文からの各取引に基づいて決済の詳細 (transactions.each.payment_details
) を使用します。 -
current_shipping_price
:代わりにshipping_price
を使用します。 -
date
:代わりにcreated_at
を使用します。 -
gateways
:代わりにunique_gateways
またはtransactions.<each>.gateway
を使用します。 -
order_currency
:代わりにcurrency
を使用します。 -
processed_at
:代わりにcreated_at
を使用します。 -
payment_transactions
:whereまたはループとif
を使用し、Liquid構文内での種類とステータスに基づいてorder.transactions
を絞り込みます。 -
refund_transactions
:whereまたはループとif
を使用し、Liquid構文内での種類とステータスに基づいてorder.transactions
を絞り込みます。 -
shipping_line
shipping_methods | first
を使用します。 -
shipping_lines
shipping_methods
を使用します。 -
show_line_item_taxes
:tax_lines.size > 0
を実行します。テンプレートの先頭で変数として定義し、複数回{% assign show_line_item_taxes = tax_lines.size > 0 %}
を参照することができます。 -
total_tax
tax_price
を使用します。 -
total_paid
net_payment
を使用します。
項目
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
fulfillable_quantity
quantity - successfully_fulfilled_quantity
を使用します。 -
fulfilled
:条件quantity == successfully_fulfilled_quantity
を計算します。 -
name
title
を使用します。 -
product_title
product.title
を使用します。 -
unit_discount
:quantity ? total_iscount / quantity : 0
を計算します。 -
variant_title
variant.title
を使用します。 -
weight
grams
を使用します。
フルフィルメント
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
date
created_at
を使用します。
ショップ
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
owner
:account_owner.name
を使用します。
以下のフィールドについては、shop.address.<field_name>
として参照します。
-
address
:shop.address.address1
を使用します。 -
address2
:shop.address.address2
を使用します。 -
city
:shop.address.city
を使用します。 -
country
:shop.address.city
を使用します。 -
country_code
:shop.address.country_code
を使用します。 -
province
:shop.address.province
を使用します。 -
province_code
:shop.address.province_code
を使用します。 -
zip
:shop.address.zip
を使用します。
住所
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
latitude
:address
がlocation
から参照された場合、緯度と経度はlocation
オブジェクト自体で利用できます。 -
Longitude
:address
がlocation
から参照された場合、緯度と経度はlocation
オブジェクト自体で利用できます。
返金
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
date
created_at
を使用します。
ShippingLine
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
current_price
price
を使用します。 -
price
original_price
を使用します。
取引
削除されたフィールド
-
authorization
-
message
-
test
バリエーション
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
grams
weight
を使用します。
絞り込みの廃止
廃止されたフィールドに関しては、以下の代替手段が用意されています。
-
files_url
file_url
を使用します。 -
payment_method
、payment_methods
。transaction.gateway_display_nameフィールドを注文取引で使用します。決済方法は、{credit card, debit card, bank transfer}
など特定のタイプに分類されなくなりました。古いOrder Printerは、現在機能している決済ゲートウェイサービスのごく一部のみを、これらのカテゴリーにマッピングしていました。決済ゲートウェイサービスプロバイダーでは、お客様が使用する決済方法の種類を自社側で管理しています。