Shopifyの注文完了メールで、特定コレクションに所属する商品を購入したときだけ、メールのテキストをカスタマイズしたい要件があったので、対応した。
通知メールのテキストを変更する
まずは、通常のテキストの変更方法から記載する。
設定 > 通知 > お客様通知 をクリックします。
リストが表示されるので「注文の確認」をクリックします。
メールテンプレートのプレビューが表示されるので、「コードを編集」をクリックします。
これをクリックすると、Liquidのコードが表示されるのでテキストを任意に追加するだけです。
ここでの注意は、Liquidのお作法に沿って変更する必要があります。
もし意図せず壊れた場合は、下にある「デフォルトに戻す」をクリックして切り戻ししましょう。
通知メールのカスタマイズ
特定コレクションに所属する商品を購入したときだけ、メールのテキストを変更できるようにカスタマイズしていきます。
まずは、状態を管理する変数special_template_used
を定義します。
<!-- 特定のコレクションを購入時にテキストを追加する-->
{% assign special_template_used = false %}
注文された商品リストをorder.line_items
から取得します。
そこから商品ごとにcollection.handle
で所属コレクションの名称を取得します。ここで、特定コレクションに所属している場合、状態管理変数を更新します。
{% for line_item in order.line_items %}
{% assign product_collections = line_item.product.collections %}
{% for collection in product_collections %}
{% if collection.handle == 'collection_name' %}
{% assign special_template_used = true %}
{% endif %}
{% endfor %}
{% endfor %}
あとは、special_template_used
変数を元に、表示するテキストやHTMLを変更することができます。
<!-- 特定のコレクションに属する商品がある場合のメールコンテンツ -->
{% if special_template_used %}
ご購入された方限定の特別コンテンツご提供!<br>
<a href="https://xxx" target="_blank">URL</a>
{% endif %}
通知関係のリファレンスを見ると、さらにいろんなことができそうです。
一読してみてください。
https://help.shopify.com/ja/manual/fulfillment/setup/notifications/email-variables
Summary
ShopifyはLiquid言語でさまざまなカスタマイズができるので、ぜひ活用していきたいところですね。