Liquid、JavaScriptなどに関する質問
使用テーマ:Modular 1.9.9
カートで削除を2回以上行うと添付画像のようなエラーが出ます。
原因がわからず困っております。
このコードを確認してみたらどうか、など些細なことでも構いませんのでアドバイス頂けたら嬉しいです。
よろしくお願いいたします。
エラーメッセージを確認したところ、削除時に必要な必須パラメータの'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 }}&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>
まずはこの箇所がどうなっているかご確認いただけますでしょうか?
返信ありがとうございます。
Modularですとcart.liquidが2つありまして
ajax-catr.liquid
site-cart.liquid
ポイントアプリとの相性が悪く、Ajax-cartの方を使用していないのですが
ajax-catr.liquidに <a href="{{ routes.cart_change_url }}?line={{ forloop.index }}&quantity=0" class="cart-product__remove">{{ 'cart.labels.remove' | t }}</a>
というコードがありました。
site-cart.liquidにはこのコードがありません。
site-cart.liquidのどこかにこのコードを入れればいいのかな?と思いますが、合っておりますでしょうか?
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>
コードありがとうございます。
推測になってしまうのですが、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 }}&quantity=0" class="cart-product__remove">{{ 'cart.labels.remove' | t }}</a>
ご確認宜しくお願いします。
ご回答ありがとうございます。
入れ替えてみたのですが、同じようにエラーが発生してしまいました。。
同じエラーが発生しているということは、コードが入れ替わっていない(対象ファイルがsite-cart.liquidではない)可能性があります。
可能であればストアフロントを確認させていただけるともう少し解決策の幅が広がるかと思います。
宜しくお願い致します。
削除ボタンとそれに関するjsをテーマの最新バージョンのものと入れ替えることで解決いたしました。
アドバイス頂きまして誠にありがとうございました。
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024