[Shopify]注文メール内容をコレクション別に出し分ける。

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言語でさまざまなカスタマイズができるので、ぜひ活用していきたいところですね。

よかったらシェアしてね!
目次