カートで2回以上商品削除をするとエラーが起きる

AI-generated summary

カート内で商品を2回以上削除すると、削除時に必要な必須パラメータ「line」または「id」が渡らずエラーになる問題が相談された。使用テーマは Modular 1.9.9 で、Ajax 用テンプレートには href="/cart/change?line=...&quantity=0" に相当する削除リンクがある一方、実際に使っていた site-cart.liquid では削除ボタンが button のみで、必要なパラメータを付与していない可能性が指摘された。

提案として、site-cart.liquid の削除ボタンを routes.cart_change_url と line を含むリンクに置き換える修正案が提示されたが、同じエラーが継続し、対象ファイル自体が異なる可能性も検討された。

最終的には、削除ボタンと関連 JavaScript をテーマ最新バージョンのものへ入れ替えることで解決。原因は旧実装側の削除処理にあり、議論は解決済みで終了している。

使用テーマ:Modular 1.9.9

カートで削除を2回以上行うと添付画像のようなエラーが出ます。

原因がわからず困っております。

このコードを確認してみたらどうか、など些細なことでも構いませんのでアドバイス頂けたら嬉しいです。

よろしくお願いいたします。

エラーメッセージを確認したところ、削除時に必要な必須パラメータの’line’、もしくは’id’が存在しないようです。

通常、削除リンク(aタグ)のhrefは以下のようになっていると思われます。

href="/cart/change?line=1&quantity=0"

この例では’line’がパラメータの中に含まれています。

Modularテーマを所持していない為Debutテーマの例となってしまうのですが、この削除リンクのコードは「cart-template.liquid」内に以下のように存在します。


  {{ 'cart.general.remove' | t }}

まずはこの箇所がどうなっているかご確認いただけますでしょうか?

返信ありがとうございます。

Modularですとcart.liquidが2つありまして

ajax-catr.liquid

site-cart.liquid

ポイントアプリとの相性が悪く、Ajax-cartの方を使用していないのですが

ajax-catr.liquidに {{ ‘cart.labels.remove’ | t }}

というコードがありました。

site-cart.liquidにはこのコードがありません。

site-cart.liquidのどこかにこのコードを入れればいいのかな?と思いますが、合っておりますでしょうか?

Site-cart.liquidには以下のようなコードがあります。

{%- render 'icon-minus' -%} {%- render 'icon-plus' -%}
{{ 'cart.labels.remove' | t }}

コードありがとうございます。

推測になってしまうのですが、site-cart.liquidを以下のように変更してみるといかがでしょうか?


↓

{{ 'cart.labels.remove' | t }}

ご確認宜しくお願いします。

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

入れ替えてみたのですが、同じようにエラーが発生してしまいました。。

同じエラーが発生しているということは、コードが入れ替わっていない(対象ファイルがsite-cart.liquidではない)可能性があります。

可能であればストアフロントを確認させていただけるともう少し解決策の幅が広がるかと思います。

宜しくお願い致します。

削除ボタンとそれに関するjsをテーマの最新バージョンのものと入れ替えることで解決いたしました。

アドバイス頂きまして誠にありがとうございました。