FROM CACHE - jp_header
解決済

注文メールをコレクション別に出し分けしたい

yuka_m
観光客
5 0 2

現在、注文完了メールをデフォルトの機能を利用して送信しています。

これを、商品によって送る内容を変えたいです。

 

商品は2パターンあり、それぞれのコレクションに追加しています。

商品A コレクション1

商品B コレクション2

というように、コレクションと商品は1:1の関係です。

 

顧客は、商品AとBを購入する可能性もありますが、その場合は、

商品A用のメールとB用のメールの2通が送信される仕様を想定しています。

 

liquidは初心者ですが、頑張って実装したいと思っています。

ご教示いただけましたら幸いです....!

 

@track さま、以前は大変わかりやすくご教示いただきましてありがとうございました。
よろしければまたお力添えいただけますと幸いです。

1 件の受理された解決策

株式会社フルバランス
Shopify Partner
1473 521 651

成功

Yuka_mさま

はじめまして、フルバランスの渡邉です。

ご質問を確認いたしました。

通知メールのカスタマイズって、コードとか少しややこしい部分がありますよね。

 

一例ですが、以下のように分岐させるのはいかがでしょうか?

 

 

{% assign has_item_a = false %}
{% assign has_item_b = false %}
              
 {% for line in subtotal_line_items %}
   {% if line.title contains '商品Aのタイトル' %}
    {% assign has_item_a = true %}
   {% endif %}
 {% if line.title contains '商品Bのタイトル' %}
    {% assign has_item_b = true %}
  {% endif %}
 {% endfor %}
              
{% if has_item_a and has_item_b %}
  <p>商品Aと商品Bの両方が含まれている場合に表示するテキスト</p>
{% elsif has_item_a %}
  <p>商品Aが含まれている場合に表示するテキスト</p>
{% elsif has_item_b %}
  <p>商品Bが含まれている場合に表示するテキスト</p>
{% else %}
  <p>{{ email_body }}</p>
{% endif %}

 

 

 

仕組みとしては、for line in subtotal_line_itemsで注文に含まれる全商品を取得し、

商品Aが入ってたらhas_item_aという変数をtrueに、商品Bが入ってたらhas_item_bをtrueにします。

そのあとはhas_item_aとhas_item_b両方がtrueだったらこのテキスト、どちらかがtrueだったら別のテキスト、AもBも含まれない場合はデフォルトの{{ email_body }}で指定したテキストを表示します。

 

参考:

通知メールで使用可能なliquid変数

https://help.shopify.com/ja/manual/orders/notifications/email-variables#part-037871c9c4b5cc05

 

 

ご参考になりましたら幸いです。

私たちの励みにもなりますので、
お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。

分からない点があれば、またいつでもご連絡ください。

フルバランス 渡邉

株式会社フルバランス(Shopify Experts)
Shopify専門のEC成長支援会社です。ストアの新規構築から運用や改善のサポートなどShopifyに関する幅広いサービスを行なっております。
ECの技術・実務・成長、お悩みのことがあれば、お気軽にご相談ください。
『すべてのブランドの特大成長エンジンを搭載する』 株式会社フルバランス

元の投稿で解決策を見る

1件の返信1

株式会社フルバランス
Shopify Partner
1473 521 651

成功

Yuka_mさま

はじめまして、フルバランスの渡邉です。

ご質問を確認いたしました。

通知メールのカスタマイズって、コードとか少しややこしい部分がありますよね。

 

一例ですが、以下のように分岐させるのはいかがでしょうか?

 

 

{% assign has_item_a = false %}
{% assign has_item_b = false %}
              
 {% for line in subtotal_line_items %}
   {% if line.title contains '商品Aのタイトル' %}
    {% assign has_item_a = true %}
   {% endif %}
 {% if line.title contains '商品Bのタイトル' %}
    {% assign has_item_b = true %}
  {% endif %}
 {% endfor %}
              
{% if has_item_a and has_item_b %}
  <p>商品Aと商品Bの両方が含まれている場合に表示するテキスト</p>
{% elsif has_item_a %}
  <p>商品Aが含まれている場合に表示するテキスト</p>
{% elsif has_item_b %}
  <p>商品Bが含まれている場合に表示するテキスト</p>
{% else %}
  <p>{{ email_body }}</p>
{% endif %}

 

 

 

仕組みとしては、for line in subtotal_line_itemsで注文に含まれる全商品を取得し、

商品Aが入ってたらhas_item_aという変数をtrueに、商品Bが入ってたらhas_item_bをtrueにします。

そのあとはhas_item_aとhas_item_b両方がtrueだったらこのテキスト、どちらかがtrueだったら別のテキスト、AもBも含まれない場合はデフォルトの{{ email_body }}で指定したテキストを表示します。

 

参考:

通知メールで使用可能なliquid変数

https://help.shopify.com/ja/manual/orders/notifications/email-variables#part-037871c9c4b5cc05

 

 

ご参考になりましたら幸いです。

私たちの励みにもなりますので、
お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。

分からない点があれば、またいつでもご連絡ください。

フルバランス 渡邉

株式会社フルバランス(Shopify Experts)
Shopify専門のEC成長支援会社です。ストアの新規構築から運用や改善のサポートなどShopifyに関する幅広いサービスを行なっております。
ECの技術・実務・成長、お悩みのことがあれば、お気軽にご相談ください。
『すべてのブランドの特大成長エンジンを搭載する』 株式会社フルバランス