カート画面で在庫以上の数量を入れた場合の表示エラー

カート画面において、在庫以上の数量をカートに入れた場合の表示がエラーを起こしています。

どのファイルを調整するのがよいでしょうか。

添付ファイルのように、本来在庫数が表示されるべき箇所に[数量]と表示されています。

ベースとなるテーマはDawn2.3.0ですが、カスタマイズしています。

@Anonymous_3e710813f9b0ebd518fefdd06211a4d4

こんにちは!

localesディレクトリにja.jsonがあると思います。

その中に

“cart_quantity_error_html”: “このアイテムは{{ quantity }}個しかカートに追加することができません。”,

のような記述があります。

このquantityの部分が{{ 数量 }}となっているのだと思いますので、quantityに変更してください。

参考になりましたら幸いです。よろしくお願いします!

1 Like

@Anonymous_3669bb4b7b6a3471042090ac49b19f2c

ありがとうございます!

いま試してみたのですが、数量 → quantity に変わってしまいました。

他に原因がありそうです。。。!

もし予想できそうなことがあればお教え頂けますと幸いですm(_ _)m

1 Like

@Anonymous_3e710813f9b0ebd518fefdd06211a4d4

ご確認ありがとうございます。

ちなみにカート画面で検証ツールを開くと、下記の記述を確認できますでしょうか?

(下のほうにあります)

これがございましたら次にassets/cart.jsをご確認頂きまして下記の記述があるかご確認頂けますでしょうか。

ここまでございましたら [quantity] の文字列を数量に変換しているものと思われますので、

quantityElement.valueの値がおかしいのかもしれません。

quantityElement.valueの値は

Quantity-${line} か Drawer-quantity-${line} のidを持つ要素のvalue値です。

(${line}はラインアイテムの数値です)

テーマのバージョンがこちらで用意できるものと異なりますので推測になるのですが、参考になりましたら幸いです。

1 Like

@Anonymous_3669bb4b7b6a3471042090ac49b19f2c ありがとうございます!解決いたしました!!

若干の記述は違ったものの、

updateLiveRegions(line, itemCount) {
if (this.currentItemCount === itemCount) {
document.getElementById(Line-item-error-${line})
.querySelector(‘.cart-item__error-text’)
.innerHTML = window.cartStrings.quantityError.replace(
‘[quantity]’,
document.getElementById(Quantity-${line}).value
);
}

とあったところで [quantity] をコピペしたらできました!

質問した時は [ 数量 ] となっており、

修正したときは {{ quantity }} としたのを、

[quantity] としたら解決しました。

本当にありがとうございました。助かりました!