ponuco
October 6, 2022, 2:41am
1
商品のタグを用いて、イベント商品を購入いただいた方には注文完了メールの文章がイベント商品用の文章に変わるようコードを設定しました。
これで大丈夫かと思っていたのですが、イベント商品を複数購入していただいた場合、その数の分だけ文章が表示されてしまうことに気づきました。
色々調べてみました(forloopオブジェクトなど試してみましたがダメでした)が、文章を1回表示させたら2回目以降は表示させないといったような設定をどのように指定すればいいのかわかりませんでした。
どなたかご教示いただけますと幸いです。
よろしくお願いいたします。
{% for line in line_items %}
{% for tag in line.product.tags %}
{% if tag contains 'クリスマス' %}
<h3>Happy Merry Christmas!</h3>
クリスマスケーキをご注文いただき誠にありがとうございます。
<br>テストテスト
{% elsif tag contains 'ひな祭り' %}
<h3>3月3日はひな祭り</h3>
ひな祭りケーキをご注文いただき誠にありがとうございます。
{% endif %}
{% endfor %}
{% endfor %}
Ponucoさま
ご質問を確認いたしました。
ループの処理って少し複雑なところがありますよね。。
いただいているコードですが、以下のように変更されてみてはいかがでしょうか?
{% assign viewText = false %}
{% for line in line_items %}
{% for tag in line.product.tags %}
{% if tag contains 'クリスマス' %}
### Happy Merry Christmas!
クリスマスケーキをご注文いただき誠にありがとうございます。
テストテスト
{% assign viewText = true %}
{% elsif tag contains 'ひな祭り' %}
### 3月3日はひな祭り
ひな祭りケーキをご注文いただき誠にありがとうございます。
{% assign viewText = true %}
{% endif %}
{% endfor %}
{% if viewText == true %}
{% break %}
{% endif %}
{% endfor %}
上記を参考に一度検証いただけますと幸いです。
ご参考になりましたでしょうか。
私たちの励みにもなりますので、 お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。
分からない点があれば、またいつでもご連絡ください。
フルバランス 園畑
ponuco
October 7, 2022, 8:07am
3
株式会社フルバランス 園畑様
ご確認いただきありがとうございます!
変数の定義が苦手なので、コメントにご説明を入れてくださりとても勉強になります。
検証いたしましたところ、下記のようにコードを分けたら反映できました!
ご教授いただき誠にありがとうございました。
{% assign viewText = false %}
{% for line in line_items %}
{% for tag in line.product.tags %}
{% if tag contains 'クリスマス' %}
### Happy Merry Christmas!
クリスマスケーキをご注文いただき誠にありがとうございます。
{% assign viewText = true %}
{% endif %}
{% endfor %}
{% if viewText == true %}
{% break %}
{% endif %}
{% endfor %}
{% assign viewText = false %}
{% for line in line_items %}
{% for tag in line.product.tags %}
{% if tag contains 'ひな祭り' %}
### 3月3日はひな祭り
ひな祭りケーキをご注文いただき誠にありがとうございます。
{% assign viewText = true %}
{% endif %}
{% endfor %}
{% if viewText == true %}
{% break %}
{% endif %}
{% endfor %}