# 商品ごとに注文完了メールの文章を変える方法②

**URL:** <https://community.shopify.com/t/topic/157398>\
**Category:** 総合的なディスカッション\
**Created:** [October 6, 2022, 2:41am UTC](https://community.shopify.com/t/topic/157398 "2022-10-06T02:41:39Z")\
**Posts on this page:** 3\
**Page:** 1

## AI-generated summary

- 商品タグ（例：クリスマス、ひな祭り）に応じて注文完了メールの文面を切り替える際、同タグの商品を複数購入すると同じ文面が複数回表示される課題。
- 原因は line_items と product.tags の二重ループで、該当タグに一致するたびに文面が出力されるため。
- 解決策は、Liquidのフラグ変数 viewText を false で初期化し、初回一致時に文面を表示して viewText を true に設定、外側ループで viewText を確認して break で処理を中断すること。
- 実装はタグごと（クリスマス／ひな祭り）にコードブロックを分け、各ブロックでフラグと break を用いる形で動作確認済み。
- 技術要点: Liquidの assign（変数代入）、for（ループ）、contains（部分一致判定）、break（ループ中断）。
- 結果: 重複表示の問題は解決。議論は収束し、未解決の懸念点はなし。

<div class="post-metadata">

**Author:** ![ponuco](https://avatars.discourse-cdn.com/v4/letter/p/b487fb/32.png) [@ponuco](https://community.shopify.com/u/ponuco)\
**Post date:** [October 6, 2022, 2:41am UTC](https://community.shopify.com/t/topic/157398/1 "2022-10-06T02:41:39Z")

</div>

商品のタグを用いて、イベント商品を購入いただいた方には注文完了メールの文章がイベント商品用の文章に変わるようコードを設定しました。

これで大丈夫かと思っていたのですが、イベント商品を複数購入していただいた場合、その数の分だけ文章が表示されてしまうことに気づきました。

色々調べてみました（forloopオブジェクトなど試してみましたがダメでした）が、文章を１回表示させたら２回目以降は表示させないといったような設定をどのように指定すればいいのかわかりませんでした。

どなたかご教示いただけますと幸いです。

よろしくお願いいたします。

```auto
  {% for line in line_items %}
  {% for tag in line.product.tags %}   
     {% if tag contains 'クリスマス' %}
        <h3>Happy Merry Christmas！</h3>
        クリスマスケーキをご注文いただき誠にありがとうございます。
        <br>テストテスト
        {% elsif tag contains 'ひな祭り'　%}
        <h3>３月３日はひな祭り</h3>
        ひな祭りケーキをご注文いただき誠にありがとうございます。 
     {% endif %}
  {% endfor %} 
  {% endfor %}

```

---

<div class="post-metadata">

**Author:** ![Anonymous\_44fbe07fc59d9ccaacd70575fd5a5155](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/anonymous_44fbe07fc59d9ccaacd70575fd5a5155/32/194200_2.png) [@Anonymous\_44fbe07fc59d9ccaacd70575fd5a5155](https://community.shopify.com/u/Anonymous_44fbe07fc59d9ccaacd70575fd5a5155)\
**Post date:** [October 7, 2022, 12:48am UTC](https://community.shopify.com/t/topic/157398/2 "2022-10-07T00:48:05Z")

</div>

Ponucoさま

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

ループの処理って少し複雑なところがありますよね。。

いただいているコードですが、以下のように変更されてみてはいかがでしょうか？

```markup
{% 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 'ひな祭り' %}
            ### ３月３日はひな祭り
            ひな祭りケーキをご注文いただき誠にありがとうございます。 
            {% assign viewText = true %} 
        {% endif %}
    {% endfor %} 

    {% if viewText == true %} 
        {% break %} 
    {% endif %}
{% endfor %}

```

上記を参考に一度検証いただけますと幸いです。

ご参考になりましたでしょうか。

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

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

フルバランス 園畑

---

<div class="post-metadata">

**Author:** ![ponuco](https://avatars.discourse-cdn.com/v4/letter/p/b487fb/32.png) [@ponuco](https://community.shopify.com/u/ponuco)\
**Post date:** [October 7, 2022, 8:07am UTC](https://community.shopify.com/t/topic/157398/3 "2022-10-07T08:07:08Z")

</div>

株式会社フルバランス 園畑様

ご確認いただきありがとうございます！

変数の定義が苦手なので、コメントにご説明を入れてくださりとても勉強になります。

検証いたしましたところ、下記のようにコードを分けたら反映できました！

ご教授いただき誠にありがとうございました。

```markup
{% 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月３日はひな祭り
      ひな祭りケーキをご注文いただき誠にありがとうございます。

      {% assign viewText = true %} 
    {% endif %}
 　{% endfor %} 
　　　{% if viewText == true %} 
    {% break %} 
    {% endif %}
{% endfor %}

```
