ShopifyやEコマースに関連することを話してみよう
商品のタグを用いて、イベント商品を購入いただいた方には注文完了メールの文章がイベント商品用の文章に変わるようコードを設定しました。
これで大丈夫かと思っていたのですが、イベント商品を複数購入していただいた場合、その数の分だけ文章が表示されてしまうことに気づきました。
色々調べてみました(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 %} <!-- テキストが表示されたかどうか判断する変数を定義、初期値はfalse -->
{% for line in line_items %}
{% for tag in line.product.tags %}
{% if tag contains 'クリスマス' %}
<h3>Happy Merry Christmas!</h3>
クリスマスケーキをご注文いただき誠にありがとうございます。
<br>テストテスト
{% assign viewText = true %} <!-- テキストが表示されたため、値にtrueを入れる -->
{% elsif tag contains 'ひな祭り' %}
<h3>3月3日はひな祭り</h3>
ひな祭りケーキをご注文いただき誠にありがとうございます。
{% assign viewText = true %} <!-- テキストが表示されたため、値にtrueを入れる -->
{% endif %}
{% endfor %}
{% if viewText == true %} <!-- 上の処理でテキストが表示された(true)とき -->
{% break %} <!-- 「for line・・・」の処理を終了する -->
{% endif %}
{% endfor %}
上記を参考に一度検証いただけますと幸いです。
ご参考になりましたでしょうか。
私たちの励みにもなりますので、
お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。
分からない点があれば、またいつでもご連絡ください。
フルバランス 園畑
成功
Ponucoさま
ご質問を確認いたしました。
ループの処理って少し複雑なところがありますよね。。
いただいているコードですが、以下のように変更されてみてはいかがでしょうか?
{% assign viewText = false %} <!-- テキストが表示されたかどうか判断する変数を定義、初期値はfalse -->
{% for line in line_items %}
{% for tag in line.product.tags %}
{% if tag contains 'クリスマス' %}
<h3>Happy Merry Christmas!</h3>
クリスマスケーキをご注文いただき誠にありがとうございます。
<br>テストテスト
{% assign viewText = true %} <!-- テキストが表示されたため、値にtrueを入れる -->
{% elsif tag contains 'ひな祭り' %}
<h3>3月3日はひな祭り</h3>
ひな祭りケーキをご注文いただき誠にありがとうございます。
{% assign viewText = true %} <!-- テキストが表示されたため、値にtrueを入れる -->
{% endif %}
{% endfor %}
{% if viewText == true %} <!-- 上の処理でテキストが表示された(true)とき -->
{% break %} <!-- 「for line・・・」の処理を終了する -->
{% endif %}
{% endfor %}
上記を参考に一度検証いただけますと幸いです。
ご参考になりましたでしょうか。
私たちの励みにもなりますので、
お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。
分からない点があれば、またいつでもご連絡ください。
フルバランス 園畑
株式会社フルバランス 園畑様
ご確認いただきありがとうございます!
変数の定義が苦手なので、コメントにご説明を入れてくださりとても勉強になります。
検証いたしましたところ、下記のようにコードを分けたら反映できました!
ご教授いただき誠にありがとうございました。
{% assign viewText = false %} <!-- テキストが表示されたかどうか判断する変数を定義、初期値はfalse -->
{% for line in line_items %}
{% for tag in line.product.tags %}
{% if tag contains 'クリスマス' %}
<h3 style="margin-bottom: 8px;">Happy Merry Christmas!</h3>
クリスマスケーキをご注文いただき誠にありがとうございます。<br><br>
{% assign viewText = true %} <!-- テキストが表示されたため、値にtrueを入れる -->
{% endif %}
{% endfor %}
{% if viewText == true %} <!-- 上の処理でテキストが表示された(true)とき -->
{% break %} <!-- 「for line・・・」の処理を終了する -->
{% endif %}
{% endfor %}
{% assign viewText = false %} <!-- テキストが表示されたかどうか判断する変数を定義、初期値はfalse -->
{% for line in line_items %}
{% for tag in line.product.tags %}
{% if tag contains 'ひな祭り' %}
<h3 style="margin-bottom: 8px;">3月3日はひな祭り</h3>
ひな祭りケーキをご注文いただき誠にありがとうございます。<br><br>
{% assign viewText = true %} <!-- テキストが表示されたため、値にtrueを入れる -->
{% endif %}
{% endfor %}
{% if viewText == true %} <!-- 上の処理でテキストが表示された(true)とき -->
{% break %} <!-- 「for line・・・」の処理を終了する -->
{% endif %}
{% endfor %}
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025