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アプリで注文変数にアクセスするには、注文のプリフィックスを追加する必要があります。
- 既存のテンプレートをインポートした際にメタフィールドはインポートされないため、メタフィールドを含むテンプレートは手動で移行する必要がある場合があります。
既存のテンプレートをShopify Order Printerアプリに移行する
従来のOrder Printerアプリからの既存のテンプレートがある場合は、Shopify Order Printerアプリにそのテンプレートをインポートすることができます。ただし、インポートするテンプレートを指定することはできず、すべてのテンプレートを一度にインポートすることになります。
手順
- 管理画面で、[設定] > [アプリと販売チャネル] の順にクリックします。
- [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 |
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 ステータスについて絞り込むには、以下の例のように、Liquid構文でwhereを使用するか、ループ内でif を使用します。{% 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 |
name |
title |
商品_タイトル |
product.title |
unit_discount |
quantity?line_level_total_discount / quantity : 0 |
バリエーション_タイトル |
variant.title |
重量 |
グラム |
フルフィルメント変数
従来のOrder Printerアプリの変数 | 新しいShopify Order Printerアプリの変数 |
---|---|
date |
created_at |
ショップ変数
従来のOrder Printerアプリの変数 | 新しいShopify Order Printerアプリの変数 |
---|---|
オーナー |
account_owner.name |
住所 |
shop.address.address.address1 |
address2 |
shop.address.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 |
zip |
shop.address.zip |
住所変数
従来のOrder Printerアプリの変数 | 新しいShopify Order Printerアプリの変数 |
---|---|
緯度 |
address 変数がlocation 属性から参照された場合、緯度と経度はlocation オブジェクト自体で利用できます。 |
経度 |
address 変数がlocation 属性から参照された場合、緯度と経度は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アプリの変数 |
---|---|
グラム |
重量 |
メタフィールド変数
メタフィールドにアクセスするには、メタフィールドのネームスペースを指定する必要がありますが、変数に.value
を追加する必要はありません。メタフィールドの定義について詳しくはこちらをご覧ください。
たとえば、product.metafields.manufacturerid.value
変数の代わりにproduct.metafields.custom.manufacturerid
変数を使用します。
各メタフィールドのネームスペース値を識別するには、管理画面のカスタムデータページを参照してください。メタフィールドの定義は、商品、バリエーション、注文など、参照するオブジェクトによってグループ化されます。
マッピングを絞り込む
従来のOrder Printerアプリで名前を絞り込む | 新しいShopify Order Printerアプリで名前を絞り込む |
---|---|
files_url |
file_url |
payment_method とpayment_methods
|
注文取引でtransaction.gateway_display_nameフィールドを使用します。決済方法は、クレジットカード、 デビットカード、銀行振込 のような特定のタイプに分類されなくなりました。従来のOrder Printerアプリでは、現在機能している決済ゲートウェイサービスのごく一部のみを、これらのカテゴリーにマッピングしていました。決済ゲートウェイサービスプロバイダーでは、お客様が使用する決済方法の種類を自社側で管理しています。 |