naoyeah
1
配送方法の異なる複数の商品を購入した場合に、メール通知で {{ shipping_method.title }} を複数表示させたいです。
商品の設定で、通常配送の商品、冷凍の商品があり、それぞれ1つを購入した場合はメールに”通常配送”または”冷凍”と期待したとおりに表示されます。
しかし、通常配送の商品、冷凍の商品を同時に購入した場合、 {{ shipping_method.title }} で表示される値が”送料(合計)”になってしまいます。
商品ごとではなく、オーダーに対して出力しているせいかと思い、下記のようにためしましたが結果は同じでした。
{% for shipping_method in order.shipping_methods %}
{{ shipping_method.title }}: {{ shipping_method.price | money }}
{% endfor %}
shipping_method の他にも shipping_methods というオブジェクトがあるようですが使い方がわかりません。
わかる方がいましたら教えていただけると助かります。
よろしくお願いします。
Naoyeahさま
はじめまして、フルバランスの渡邉です。
ご質問を確認いたしました。
通知メールのカスタマイズって、コードとか少しややこしい部分がありますよね。
注文アイテムをfor文で取得した上でshipping_methodのオブジェクトを呼び出してみてはいかがでしょうか?
{% for line in line_items %}
{% for shipping_method in order.shipping_methods %}
{{ shipping_method.title }}: {{ shipping_method.price | money }}
{% endfor %}
{% endfor %}
弊社環境ですとこのように出力されました:
ご参考になりましたら幸いです。
私たちの励みにもなりますので、
お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。
分からない点があれば、またいつでもご連絡ください。
フルバランス 渡邉
naoyeah
3
早速のご回答ありがとうございます。
line_itemsでループしてみたところ、商品の数だけ出力することができました。
しかし、内容が以前のままになってしまいます。
期待する結果:
通常配送: ¥700
冷凍: ¥990
実際の結果:
送料(合計): ¥1,690
送料(合計): ¥1,690
といった感じです。
送料(合計)という項目を設定してはいないと思うので仕様なのか、オブジェクトの内容が違うのでしょうか。
※上記はテスト申込で実際に受け取ったメールの結果です。