特定のクーポンコードが利用された場合、メールにメッセージを表示する

特定のクーポンコード、ここでは「couponxxx」と仮にしますが、これを入力された注文の場合は、お客様宛の注文確認メールに特殊メッセージを表示させたいです。

ChatGPTさんと相談して次の通りコードが出力されたのですが、テスト注文しても表示がされませんでした。

{% for discount_app in discount_applications %}
  {% if discount_app.code == 'couponxxx' %}
  ここにメッセージを記入
  {% endif %}
{% endfor %}

この書き方は有効でしょうか?

正しい書き方がありましたらご教示いただけますと幸いです。

@number_girl

記載頂いているコードですと、discount_applicationsの前に**order.**がないので、

ディスカウント情報が取得できていない様に思われます。

下記のように変更されてはいかがでしょうか。

{% if order.discount_applications.size > 0 %}
  {% for discount in order.discount_applications %}
    {% if discount.title == 'PROD5' %}
    コメントが表示
    {% endif %}
  {% endfor %}
{% endif %}

ご参考まで。

(キュー小坂)

1 Like

ご返信ありがとうございます。

いただいたコードを利用したところ、正常に動作いたしました!ありがとうございます。

ちなみに追加の質問で恐縮なのですが

{% if order.discount_applications.size > 0 %}

この部分のコードって何のために必要なのでしょうか?

@number_girl

ご質問いただきました下記コードは、ディスカウントが1個以上ある場合にifの中が動く様になっています。

ディスカウントがない場合は中の処理が行われないため、不要な読み込みを少なくするために記載しています。

ですが、注文に付くディスカウントが1個であればそこまで気にする必要はないかと思いますので、下記のコードは削除いただいて問題ございません。

{% if order.discount_applications.size > 0 %}
{% endif %}

ご参考まで。

(キュー小坂)