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

発送連絡メールで、特定の支払い方法をしたユーザーのみに文章を表示したい

解決済

発送連絡メールで、特定の支払い方法をしたユーザーのみに文章を表示したい

コーディ
遊覧客
27 2 2

自動送信される発送連絡メールで、
特定の支払い方法をしたユーザーのみに
指定の文章を表示したいのですが可能でしょうか。

1 件の受理された解決策

Jizo_Inagaki
Shopify Partner
1168 423 734

成功

少々自信がありませんが、恐らく以下で分岐が作れるかと思います。

 

{% for transaction in transactions %}
  {% if transaction.payment_details.credit_card_company %}
    <p>クレジット払い用文章</p>
  {% else %}
    {% capture transaction_name %}{{ transaction.gateway_display_name }}{% endcapture %}
    {% case transaction_name %}
      {% when 'Bank deposit'}
        <p>銀行振り込み用文章</p>
      {% when 'Cash on delivery (cod)'}
        <p>代引き用文章</p>
      {% else %}
       <p>{{ transaction_name }}用文章</p>
    {% endcase %}
  {% endif %}
{% endfor %}

 

上記の注意点は以下の通りです。

  • {% for transaction in transactions %} のループがすでに書かれている中に設置する場合は、1行目の {% for transaction in transactions %} と最後の {% endfor %} が不要なので削除する
  • 分岐最後の「 {{ transaction_name }}用文章」はクレジットでも銀行振り込みでも代引きでもない場合の表示用

 

ここまでを踏まえ、例えば銀行振り込みのみの場合は以下のようになります。

 

{% for transaction in transactions %}
  {% if transaction.gateway_display_name == 'Bank deposit' %}
    <p>銀行振り込み用文章</p>
  {% endif %}
{% endfor %}

 

 

設置場所やクレジットカード決済か否かなどで記述が替わるため少々ややこしいですが、プレビューやテスト購入などで出力を確かめていただければと思います。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。

元の投稿で解決策を見る

5件の返信5

Jizo_Inagaki
Shopify Partner
1168 423 734

成功

少々自信がありませんが、恐らく以下で分岐が作れるかと思います。

 

{% for transaction in transactions %}
  {% if transaction.payment_details.credit_card_company %}
    <p>クレジット払い用文章</p>
  {% else %}
    {% capture transaction_name %}{{ transaction.gateway_display_name }}{% endcapture %}
    {% case transaction_name %}
      {% when 'Bank deposit'}
        <p>銀行振り込み用文章</p>
      {% when 'Cash on delivery (cod)'}
        <p>代引き用文章</p>
      {% else %}
       <p>{{ transaction_name }}用文章</p>
    {% endcase %}
  {% endif %}
{% endfor %}

 

上記の注意点は以下の通りです。

  • {% for transaction in transactions %} のループがすでに書かれている中に設置する場合は、1行目の {% for transaction in transactions %} と最後の {% endfor %} が不要なので削除する
  • 分岐最後の「 {{ transaction_name }}用文章」はクレジットでも銀行振り込みでも代引きでもない場合の表示用

 

ここまでを踏まえ、例えば銀行振り込みのみの場合は以下のようになります。

 

{% for transaction in transactions %}
  {% if transaction.gateway_display_name == 'Bank deposit' %}
    <p>銀行振り込み用文章</p>
  {% endif %}
{% endfor %}

 

 

設置場所やクレジットカード決済か否かなどで記述が替わるため少々ややこしいですが、プレビューやテスト購入などで出力を確かめていただければと思います。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。
コーディ
遊覧客
27 2 2

ありがとうございます!
ちょっとまだ試せてないですがこのコードでいろいろ解決できそうです!
ちなみに、例えば「手動の決済方法」に日本語名で「テスト決済」という名前の決済を追加して、
支払い時に「テスト決済」を選択した場合、
transaction.gateway_display_nameには'テスト'が入ってくるのでしょうか?
ご存知でしたら教えていただきたく存じますm(__)m

Jizo_Inagaki
Shopify Partner
1168 423 734

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

試していないので明確なことは言えませんが、「テスト決済」と入力したら、恐らくそのまま「テスト決済」と出力されると思います。

Bank deposit などもスペースが入っていてそのまま文字列として使われているように見え、日本語でも恐らく同じだと考えられるためです。

間違っていましたらすみません。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。
コーディ
遊覧客
27 2 2

教えていただきありがとうございます、試してみます!
また結果をこちらで報告できたらと思います。

コーディ
遊覧客
27 2 2

jizoさんに教えていただいた方法で出来ました!ありがとうございました!!