先日、shopifyの注文の明細表を印刷するときに「請求先住所」を変更したいとご相談を受けました。
「請求先住所」はshopifyではセキュリティ上変更することはできず、変更したい場合は、改めて注文してもらう必要があります。
しかし、明細表を印刷するときであれば、変更した「請求先住所」で印刷することができます。
今回はその方法を紹介します。
仕様
次のような仕様で作りました。
注文のメモ欄や注文のタグを重宝している人には、そぐわない仕様なので気をつけてください。
一度実装したらテンプレートファイルを触る必要はないので、クライアントでも使える方法です。
- 注文ごとに個別で「請求先住所」の変更ができる
- liquidファイルなどテンプレートファイルを編集する必要はない
- 注文の「メモ」欄を使用する
- 注文の「タグ」を使用する
現在は注文のメタフィールドが自由には使えませんが、自由に使えるようになれば、メモ欄やタグを使用せずにできると思います。
その時はまた新しく記事を書こうと思います。
変更するファイルの場所
管理画面の「設定」から「配送と配達」をクリックします。
※下の画像の赤枠。
次に「明細表のテンプレート」に移動します。
「編集」をクリックすれば、明細表のテンプレートが出てきますので、そのテンプレートを修正します。
請求先住所を変更するための分岐のコード
次のコードを「請求先住所」を出力している箇所に使用します。
{%- unless order.tags contains '請求先変更' -%}
{% comment %}
本来の請求先住所
{% endcomment %}
{%- else -%}
{% comment %}
メモの内容(変更する請求先住所)出力
{% endcomment %}
{{ order.note | newline_to_br }}
{%- endunless -%}
上記コードを少し説明すると
注文のタグに「請求先変更」というタグがあった場合には、請求先住所が出力する箇所に、注文の「メモ」の内容を出力するということになります。
「newline_to_br」というフィルターは改行箇所には<br>タグを入れるというフィルターです。
使い方
1.請求先住所を変更したい注文のタグに「請求先変更」のタグを追加します。
2.メモ欄に変更後の「請求先住所」を入力します。
改行も反映されるので、改行したい場所で改行させます。
3.明細表を印刷する
変更直後は反映されない場合もありますが、2〜3分待って印刷すると、
本来、請求先住所が出力される箇所に「2」でメモ欄に設定した内容が出力されます。
最初に書いたように、本来であれば注文のメタフィールドなどで設定したい内容ですが、現在はまだ「準備中」となっているので応急処置的ではありますが、このような方法で対応しました。