FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

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

解決済

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

n_ogawa3
遊覧客
22 0 6

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

・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 × 〇個

---------------------

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

 

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

■注文番号:{{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回入ってしまっている…)

 

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

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

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

 

1 件の受理された解決策

Qcoltd
Shopify Partner
1167 472 458

成功

@n_ogawa3

 

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

{% for lineItems_item in order.lineItems %}

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

{% for lineItems_item in order.lineItems %}

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

 

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

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

 

■注文番号:{{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 %}
---------------------

 

 

ご参考まで。

(キュー小坂)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/

元の投稿で解決策を見る

2件の返信2

Qcoltd
Shopify Partner
1167 472 458

成功

@n_ogawa3

 

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

{% for lineItems_item in order.lineItems %}

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

{% for lineItems_item in order.lineItems %}

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

 

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

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

 

■注文番号:{{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 %}
---------------------

 

 

ご参考まで。

(キュー小坂)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
n_ogawa3
遊覧客
22 0 6

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

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

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