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

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

解決済

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

ponuco
Shopify Partner
37 1 3

イベント商品が注文されたときはメールの文章が変わるように、商品タグを使って条件分岐を書いてみたのですが、メールに反映されません。

過去の記事等を参考に書いたのですが、コードが間違っているのでしょうか?

(追加したコードは<div>〜</div>の部分です。)

 

解決方法についてご存じの方がいらっしゃいましたらご教授いただけますと幸いです。

宜しくお願い致します。

 

{% capture email_title %}ご購入いただきありがとうございました! {% endcapture %}
{% capture email_body %}

    <div style="margin-top:24px;">  
  {% if product.tags contains 'クリスマス' %}
   <h3>メリークリスマス</h3>
  {%- endif -%}
  
  {% if product.tags contains 'ひな祭り' %}
   <h3>ひな祭り</h3>
  {%- endif -%}
    </div>

  {% if requires_shipping %}
  {% case delivery_method %}
      {% when 'pick-up' %}
        ご注文の受取の準備が整いましたら、こちらのメールでお知らせいたします。
      {% when 'local' %}
        {{ customer.last_name }}様、ご注文の品を配達する準備を行っております。
      {% else %}
        {{ customer.last_name }}様、ご注文いただき、誠にありがとうございます。注文の発送準備を行なっております。商品が発送されましたら、Eメールにてお知らせいたします。
    {% endcase %}

 

1 件の受理された解決策

_osamu_iwasaki_
Shopify Partner
189 47 195

成功

購入データの構造はまずラインアイテムを見ないとどの商品かわからないので、

line_items か subtotal_line_items のループで line を取得し、

line.product.tags のループで tag を取得できます。

 

※ヘルプには line.product.tags の記述はないのですが、構造的にはあるはずです。

 

▼LINE ITEM PROPERTIES

https://help.shopify.com/ja/manual/orders/notifications/email-variables#line-item-properties

 

▼購入した商品のタグ取得例

{% for line in line_items %}
{% for tag in line.product.tags %}
#{{ tag }}
{% endfor %}
{% endfor %}

元の投稿で解決策を見る

4件の返信4

_osamu_iwasaki_
Shopify Partner
189 47 195

成功

購入データの構造はまずラインアイテムを見ないとどの商品かわからないので、

line_items か subtotal_line_items のループで line を取得し、

line.product.tags のループで tag を取得できます。

 

※ヘルプには line.product.tags の記述はないのですが、構造的にはあるはずです。

 

▼LINE ITEM PROPERTIES

https://help.shopify.com/ja/manual/orders/notifications/email-variables#line-item-properties

 

▼購入した商品のタグ取得例

{% for line in line_items %}
{% for tag in line.product.tags %}
#{{ tag }}
{% endfor %}
{% endfor %}

ponuco
Shopify Partner
37 1 3

ご連絡いただきありがとうございます!

 

取得例を参考にコードを入力してみたところ、<p>タグのテキストは表示されるようになったのですが

<p>タグが3行表示されてしまいました。

1行だけ表示されれば十分なのですが、どうすればいいでしょうか?

もしわかれば教えていただきたいです...!

 

{% capture email_title %}ご購入いただきありがとうございました! {% endcapture %}
{% capture email_body %}

 <div style="margin-top:24px;">  
  {% for line in line_items %}
    {% for tag in line.product.tags %}
    
  {% if line.product.tags contains 'クリスマス' %}
   <h3>メリークリスマス</h3>
  {%- endif -%}   
      
  {% if line.product.tags contains 'ひな祭り' %}
   <h3>ひな祭り</h3>
  {%- endif -%}

   {% endfor %}
   {% endfor %}
 </div>

 

スクリーンショット 2022-08-26 18.30.16.png

_osamu_iwasaki_
Shopify Partner
189 47 195

単純な間違い探しです。あえて答えは言いませんので、配列が何を保持して、何を繰り返しているのかよく考えてみてください。

ponuco
Shopify Partner
37 1 3

解決できました!ありがとうございました。