明細票のテンプレートで価格が表示されない件

AI-generated summary

Shopifyの明細票テンプレート編集で、出荷明細のline_items_in_shipmentを使うと商品画像・商品名・数量は出る一方、line_item.priceやline_item.line_priceでは価格・小計が表示されない問題が扱われている。決済のテストモードが原因かという問いに対し、テストモード起因とはされていない。

提示された回避策は、order.line_itemsをループし、SKUが一致する商品からfinal_priceを取得して表示する方法。これにより単価の出力はできたと報告されている。

その後の論点は未解決で、同一商品を複数購入した場合の小計がfinal_line_priceでも単価のままになり、order.line_items_subtotal_price、order.shipping_price、order.total_priceでも「数量を反映しない商品合計+送料」になってしまう点が新たな課題として残っている。Liquid(Shopifyのテンプレート記法)で、どのオブジェクト/プロパティを参照すべきかが未回答のまま。

現在、決済サービスがテストモードにしてあるのですが、

設定 > 配送と配達 > 明細表 > 明細表のテンプレート を編集中です。

下記のように記載したのですが、注文された商品の各価格・小計が表示されません。商品画像・商品名・数量は表示されています。これは決済がテストモードだからでしょうか?

{% for line_item in line_items_in_shipment %}

{% if line_item.image != blank %} {% endif %} {{ line_item.title }} {{ line_item.price | money }} {{ line_item.shipping_quantity }} of {{ line_item.quantity }} {{ line_item.line_price | money }} {% endfor %}

こちらで表示できます。

{% assign final_price = nil %}

{% for item in order.line_items %}
  {% if item.sku == line_item.sku %}
    {% assign final_price = item.final_price %}
  {% endif %}
{% endfor %}

{% if final_price %}
  {{ final_price | money }}
{% endif %}

▼line_itemオブジェクト

https://shopify.dev/docs/themes/liquid/reference/objects/line_item

ご回答ありがとうございます。無事商品の価格は出力できました。

ですが、同一商品を複数個購入したときの金額(価格×個数)を出力するために下記のように記載したのですが、商品の価格しか表示されないのはなぜでしょうか?

例:商品A(1個1000円) 3個 を購入した場合でも → 小計:1000円

{% assign final_line_price = nil %}
{% for item in order.line_items %}
 {% assign final_line_price = item.final_line_price %}
{% endfor %}
{% if final_line_price %}
 小計:{{ final_line_price | money }}
{% endif %}

また、複数個買った場合に、下記のように記載しても、商品金額合計が複数個の金額ではなく各商品1個分の金額の合計が出力されます。そして、合計金額=商品金額合計(各商品1個分の合計)+送料になっているのですが、何が問題でしょうか?

例:商品A(1個1000円) 3個 を購入した場合でも → 商品合計金額:1000円 送料:500円 合計金額:1500円

商品金額合計:{{ order.line_items_subtotal_price | money }}
送料:{{ order.shipping_price | money }}
合計金額:{{ order.total_price | money  }}

お手数おかけしますが、教えていただければ幸いです。