メールでshipping_method.titleを複数表示したい

配送方法の異なる複数の商品を購入した場合に、メール通知で {{ 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ボタンを押して頂ければ嬉しいです。

分からない点があれば、またいつでもご連絡ください。

フルバランス 渡邉

早速のご回答ありがとうございます。

line_itemsでループしてみたところ、商品の数だけ出力することができました。

しかし、内容が以前のままになってしまいます。

期待する結果:

通常配送: ¥700

冷凍: ¥990

実際の結果:

送料(合計): ¥1,690

送料(合計): ¥1,690

といった感じです。

送料(合計)という項目を設定してはいないと思うので仕様なのか、オブジェクトの内容が違うのでしょうか。

※上記はテスト申込で実際に受け取ったメールの結果です。