FROM CACHE - jp_header

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

yoshi0624
Shopify Partner
7 0 1

使用テーマ:Modular 1.9.9

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

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

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

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

7件の返信7
KOICHI_KAMIZURU
探検家
56 19 59

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

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

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

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

 

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

<p class="cart__remove">
  <a href="/cart/change?line={{ forloop.index }}&amp;quantity=0" class="text-link text-link--accent" aria-label="{{ 'cart.label.remove' | t: product: item.title }}" data-cart-remove data-role="product-remove">{{ 'cart.general.remove' | t }}</a>
</p>

 

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

上水流 弘一 (Kamizuru Koichi)
アプリ開発、テーマのカスタマイズ承っております。
お気軽にご相談ください。
yoshi0624
Shopify Partner
7 0 1

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

 

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

ajax-catr.liquid

site-cart.liquid

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

ajax-catr.liquidに <a href="{{ routes.cart_change_url }}?line={{ forloop.index }}&amp;quantity=0" class="cart-product__remove">{{ 'cart.labels.remove' | t }}</a>

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

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

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

 

yoshi0624
Shopify Partner
7 0 1

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

<div class="cart-table-cell cart-table-cell--quantity">
<div class="cart-product__quantity">
<div class="js-counter counter inputGroup">
<input onblur="this.form.submit();" type="text" name="updates[]" id="updates_{{ item.id }}" class="inputCounter" value="{{ item.quantity }}" />
<button class="inputCounter__btn inputCounter__btn--down" type="button" aria-label="{{ 'general.accessibility.decrease' | t }}">
{%- render 'icon-minus' -%}
</button>
<button class="inputCounter__btn inputCounter__btn--up" type="button" aria-label="{{ 'general.accessibility.increase' | t }}">
{%- render 'icon-plus' -%}
</button>
</div>
</div>
<button onblur="this.form.submit();" type="button" class="cart-product__remove">{{ 'cart.labels.remove' | t }}</button>
</div>

 

 

KOICHI_KAMIZURU
探検家
56 19 59

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

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

<button onblur="this.form.submit();" type="button" class="cart-product__remove">{{ 'cart.labels.remove' | t }}</button>

<a href="{{ routes.cart_change_url }}?line={{ forloop.index }}&amp;quantity=0" class="cart-product__remove">{{ 'cart.labels.remove' | t }}</a>

 

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

上水流 弘一 (Kamizuru Koichi)
アプリ開発、テーマのカスタマイズ承っております。
お気軽にご相談ください。
yoshi0624
Shopify Partner
7 0 1

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

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

KOICHI_KAMIZURU
探検家
56 19 59

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

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

宜しくお願い致します。

上水流 弘一 (Kamizuru Koichi)
アプリ開発、テーマのカスタマイズ承っております。
お気軽にご相談ください。
yoshi0624
Shopify Partner
7 0 1

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

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