特定のクーポンコード、ここでは「couponxxx」と仮にしますが、これを入力された注文の場合は、お客様宛の注文確認メールに特殊メッセージを表示させたいです。
ChatGPTさんと相談して次の通りコードが出力されたのですが、テスト注文しても表示がされませんでした。
{% for discount_app in discount_applications %}
{% if discount_app.code == 'couponxxx' %}
ここにメッセージを記入
{% endif %}
{% endfor %}
この書き方は有効でしょうか?
正しい書き方がありましたらご教示いただけますと幸いです。
Qcoltd
2
@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 %}
この部分のコードって何のために必要なのでしょうか?
Qcoltd
4
@number_girl
ご質問いただきました下記コードは、ディスカウントが1個以上ある場合にifの中が動く様になっています。
ディスカウントがない場合は中の処理が行われないため、不要な読み込みを少なくするために記載しています。
ですが、注文に付くディスカウントが1個であればそこまで気にする必要はないかと思いますので、下記のコードは削除いただいて問題ございません。
{% if order.discount_applications.size > 0 %}
{% endif %}
ご参考まで。
(キュー小坂)