インポートした Order Printer テンプレートに関する問題のトラブルシューティング
テンプレートをレガシー Order Printer アプリから新しい Shopify Order Printer アプリに移行すると、新しいアプリとの互換性を確保するために Liquid 変数が更新されます。まれに、インポートしたテンプレートのトラブルシューティングが必要になる場合があります。
インポートしたテンプレートが正しく印刷されない場合は、新しい Shopify Order Printer アプリでテンプレートのコードを手動で編集する必要がある場合があります。テンプレートが正しくインポートされない最も一般的な理由として、以下の点を確認してください。
- テンプレートにカスタム CSS が含まれている
- テンプレートにメタフィールドが含まれている
- Liquid 変数が正しく更新されない可能性がある
このページでは、カスタムテンプレートを新しい Shopify Order Printer アプリにインポートする際の潜在的な問題をトラブルシューティングする方法について、詳しく説明します。
一般的な CSS デザインのカスタマイズを更新する
転送するテンプレートにカスタム CSS が含まれている場合、画像、カスタムフォント、ロゴ、バーコードなどのデザイン要素を正しく表示するために、テンプレートの CSS コードを手動で更新する必要がある場合があります。
- テンプレートにロゴを追加する
- テンプレートに画像を追加する
- 表の幅を 100% にする
- 商品のサムネイルを表示する
- 注文詳細を追加する
- テンプレートにバーコードを追加する
- テンプレートに QR コードを追加する
- テンプレートで Google フォントを使用する
- フォントサイズを大きくする
メタフィールド変数の更新
メタフィールドにアクセスするには、メタフィールドのネームスペースを指定する必要があり、変数に .value を追加する必要はありません。詳しくは、メタフィールドの定義をご覧ください。
たとえば、product.metafields.custom.manufacturerid.value 変数の代わりに、product.metafields.custom.manufacturerid 変数を使用します。
各メタフィールドのネームスペース値を確認するには、管理画面の [カスタムデータ] ページを参照してください。メタフィールドの定義は、商品、バリエーション、注文など、参照するオブジェクト別にグループ化されています。
一般的な Liquid 変数の更新
ほとんどの場合、Liquid 変数は移行プロセス中に自動で更新されます。ただし、テンプレートが正しく移行されず、このセクションに記載されているいずれかの変数を使用している場合は、古い変数を新しい変数に手動で置き換える必要がある場合があります。Shopify Order Printer アプリでは、レガシー版の Order Printer アプリとは異なる変数が使用されます。
たとえば、date 変数を使用している場合は、created_at 変数に置き換える必要があります。
注文変数
Shopify Order Printer アプリでは、注文変数の使用方法が異なります。注文変数にアクセスするには、接頭辞として order. を追加する必要があります。たとえば、billing_address 変数にアクセスするには、order.billing_address を使用する必要があります。
以下のよく使用される注文変数は、order. という接頭辞なしでアクセスできます。
line_itemstax_linesfulfillmentstransactionsrefundsshipping_methodscustomer
たとえば、項目変数にアクセスする場合は、line_items または order.line_items を使用できます。
テンプレートに独自のエイリアスを作成することもできます。たとえば、{% assign fulfillments_count = order.fulfillments | size %} という Liquid 構文を使用し、コード内で {{ fulfillments_count }} を使用して参照できます。
| レガシー版 Order Printer アプリの変数 | 新しい Shopify Order Printer アプリの変数 |
|---|---|
line_items |
|
credit_card | 注文の各取引に基づく決済詳細には、transactions.<each>.payment_details 変数を使用します。 |
current_shipping_price | shipping_price |
date | created_at 変数を使用してください。タイムスタンプをフォーマットするには、{{ order.created_at | date: "%B %e, %Y" }} のように date フィルターを使用します。 |
gateways | 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 |
Liquid 構文で
|
refund_transactions | 以下の例のように、where を使用した Liquid 構文、または if を組み込んだループ処理により、order.transactions を kind ステータスで絞り込みます。{% 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 |
fulfilled | quantity == successfully_fulfilled_quantity |
name | 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 | created_at |
Shop 変数
| レガシー版 Order Printer アプリの変数 | 新しい Shopify Order Printer アプリの変数 |
|---|---|
owner | account_owner.name |
address | shop.address.address1 |
address2 | shop.address.address2 |
city | shop.address.city |
country | 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 アプリの変数 |
|---|---|
latitude | address 変数が location 属性から参照された場合、緯度と経度は location オブジェクト自体で利用できます。 |
longitude | address 変数が location 属性から参照された場合、緯度と経度は location オブジェクト自体で利用できます。 |
返金変数
| レガシー版 Order Printer アプリの変数 | 新しい Shopify Order Printer アプリの変数 |
|---|---|
date | created_at 変数を使用してください。タイムスタンプをフォーマットするには、{{ order.created_at | date: "%B %e, %Y" }} のように date フィルターを使用します。 |
ShippingLine 変数
| レガシー版 Order Printer アプリの変数 | 新しい Shopify Order Printer アプリの変数 |
|---|---|
current_price | price |
price | original_price |
取引変数
以下の取引変数は削除されており、Shopify Order Printer アプリで置き換えることはできません。
authorizationmessagetest
バリエーション変数
| レガシー版 Order Printer アプリの変数 | 新しい Shopify Order Printer アプリの変数 |
|---|---|
grams | weight |
メタフィールド変数
メタフィールドにアクセスするには、メタフィールドの Namespace を指定する必要があり、変数に .value を追加する必要はありません。
メタフィールドの定義について、詳しくはこちらをご覧ください。
たとえば、product.metafields.manufacturerid.value 変数の代わりに、product.metafields.custom.manufacturerid 変数を使用します。
各メタフィールドの Namespace の値を確認するには、管理画面の [カスタムデータ] ページを参照してください。メタフィールドの定義は、商品、バリエーション、注文など、参照するオブジェクトによってグループ化されています。
フィルターのマッピング
| レガシー Order Printer アプリでのフィルター名 | 新しい Shopify Order Printer アプリでのフィルター名 |
|---|---|
files_url | file_url |
payment_methodとpayment_methods | 注文の取引で transaction.gateway_display_name フィールドを使用します。決済方法は、{クレジットカード、デビットカード、銀行振込} などの特定のタイプに分類されなくなりました。レガシー Order Printer アプリでは、現在機能している決済ゲートウェイのごく一部のみが、これらのカテゴリーにマッピングされていました。お客様が使用する決済方法の種類は、決済ゲートウェイプロバイダー側で管理されます。 |