Liquid、JavaScriptなどに関する質問
カート画面において、
カートに追加された商品からメタフィールドを取得し、送料リストなどを出しわける仕組みを作っているのですが、
何故か複数バリエーションを持つ商品のみメタフィールドが取得できません。
他の商品ページやコレクションページなどでは問題なく取れています。
variantそれぞれに付いているものではないため、出力方法を変える必要はない認識なのですが、
この現象について原因や解決策がもしおありでしたらご教授いただけないでしょうか。
{%- for line_item in cart.items -%} {% if line_item.product.has_only_default_variant %} {{ line_item.product.metafields.my_fields._concept }} {% else %}//複数バリエーションを持つ商品 {{ line_item.product.metafields.my_fields._concept }} {% endif %} {%- endfor -%}
↑はシンプルにメタフィールドのvalueを表示させる例ですが、
else側の、バリエーションを持つ商品の場合何も表示されません。
質問者様に記載いただいたコードを流用し、
私の開発ストアでテストしてみたのですが、
バリエーションを複数持つ商品であっても問題なくカスタムフィールドの値を表示できました。
コードには問題ないように思えましたので、
コード以外の部分に問題があるかもしれません。
プライベートメッセージなどで、
ストアの情報を頂戴できればもう少し調査できるかもしれませんので、
(必ず調査するとも、解決するともお約束はできませんが。。。)
差し支えないようでしたらご連絡ください。
ご参考まで。
(キュー田辺)