# 注文通知メールで商品タイトルとバリエーション名を箇条書きにしたい

**URL:** <https://community.shopify.com/t/topic/271402>\
**Category:** 技術的なQ＆A\
**Tags:** javascript, html\
**Created:** [November 24, 2023, 11:25am UTC](https://community.shopify.com/t/topic/271402 "2023-11-24T11:25:33Z")\
**Posts on this page:** 3\
**Page:** 1

## AI-generated summary

Shopifyの注文通知メールで、商品ごとに見出しを出し、その下にバリエーション名と数量を箇条書きで並べたいという要望。

現状テンプレートは order.lineItems を内側でもう一度ループしており、二重ループのため同一商品名の見出しがバリエーション数だけ重複表示されるのが問題。

解決策として、ループを1回にし、前回のタイトルを保持する previous_product_title 変数で比較。タイトルが変わった時だけ「●商品名」を出力し、各行で variant.title と quantity を出力する構成が提示された。

提示コードは深いテスト未実施の注意付きで、実装時の挙動確認を推奨。

提案どおりに修正したところ希望どおりの表示になったと報告。問題は解決し、議論は収束。

<div class="post-metadata">

**Author:** ![n\_ogawa3](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@n\_ogawa3](https://community.shopify.com/u/n_ogawa3)\
**Post date:** [November 24, 2023, 11:25am UTC](https://community.shopify.com/t/topic/271402/1 "2023-11-24T11:25:33Z")

</div>

各商品にバリエーションを設定しており、注文が入ったときにスタッフに注文内容の通知メールを配信しています。

・ShopifyFlowにて設定

・ShopifyのプランはBasicです

理想としては通知メールの本文（テキストカラーは関係ないです）を

* * *

■注文番号：\*\*\*\*\*\*\*

■購入した商品

●商品名A

・バリエーションa-2 / バリエーションb-1 × 〇個

・バリエーションa-3 / バリエーションb-4 × 〇個

●商品名B

・バリエーションa-1 / バリエーションb-2 × 〇個

●商品名C

・バリエーションa-1 / バリエーションb-1 × 〇個

・バリエーションa-2 / バリエーションb-1 × 〇個

* * *

のように表示させたいです。

現状以下のように設定しているのですが、

```auto
■注文番号：{{order.name}}
---------------------
{% for lineItems_item in order.lineItems %}
● {{lineItems_item.title}}
{% for lineItems_item in order.lineItems %}
　 ・{{ lineItems_item.variant.title }} × {{lineItems_item.quantity}}  
{% endfor %}
{% endfor %}
---------------------

```

結果は、

* * *

■注文番号：\*\*\*\*\*\*\*

■購入した商品

●商品名A

・バリエーションa-2 / バリエーションb-1 × 〇個

・バリエーションa-3 / バリエーションb-4 × 〇個

●商品名A

・バリエーションa-2 / バリエーションb-1 × 〇個

・バリエーションa-3 / バリエーションb-4 × 〇個

●商品名B

・バリエーションa-1 / バリエーションb-2 × 〇個

●商品名C

・バリエーションa-1 / バリエーションb-1 × 〇個

・バリエーションa-2 / バリエーションb-1 × 〇個

●商品名C

・バリエーションa-1 / バリエーションb-1 × 〇個

・バリエーションa-2 / バリエーションb-1 × 〇個

* * *

のように、購入したバリエーションの数を繰り返されてしまいます…。

（バリエーションが2パターンある商品Aと商品Cが2回入ってしまっている…）

素人の質問で申し訳ないのですが、理想通りに表示させる方法はないでしょうか？

教えていただけると嬉しいです。

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

---

<div class="post-metadata">

**Author:** ![Qcoltd](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/qcoltd/32/900_2.png) [@Qcoltd](https://community.shopify.com/u/Qcoltd)\
**Post date:** [November 27, 2023, 8:41am UTC](https://community.shopify.com/t/topic/271402/2 "2023-11-27T08:41:49Z")

</div>

@n_ogawa3 様

記載いただいているコードを拝見したところ、

```auto
{% for lineItems_item in order.lineItems %}

```

のループの中でもう一回、

```auto
{% for lineItems_item in order.lineItems %}

```

が入っているため、二重にループしているのではとお見受けできます。

下記のようにコードを変更いただければ、ご希望の処理になるのではと思われます。

※深くコードのテストはしておりませんので、使用の際はご確認の上ご利用ください。

```markup
■注文番号：{{order.name}}
---------------------
■購入した商品
{% assign previous_product_title = '' %}
{% for lineItems_item in order.lineItems %}
  {% if lineItems_item.title != previous_product_title %}
    {% assign previous_product_title = lineItems_item.title %}
    ● {{ lineItems_item.title }}
  {% endif %}
  ・{{ lineItems_item.variant.title }} × {{ lineItems_item.quantity }}
{% endfor %}
---------------------

```

ご参考まで。

（キュー小坂）

---

<div class="post-metadata">

**Author:** ![n\_ogawa3](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@n\_ogawa3](https://community.shopify.com/u/n_ogawa3)\
**Post date:** [November 27, 2023, 1:40pm UTC](https://community.shopify.com/t/topic/271402/3 "2023-11-27T13:40:24Z")

</div>

丁寧に教えていただきありがとうございます！

早速試したところ、希望通りになりました！

ありがとうございました！
