バグ報告 > フロント機能 > 2.12.2リスト画面で規格未選択状態で「カゴに入れる」をクリックするとエラーが表示されずに全商品のリスト画面に移動してしまう |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
knak |
投稿日時: 2012/12/5 13:57
対応状況: −−−
|
新米 登録日: 2012/11/12 居住地: 投稿: 6 |
2.12.2リスト画面で規格未選択状態で「カゴに入れる」をクリックするとエラーが表示されずに全商品のリスト画面に移動してしまう リスト画面で、規格を持っている商品の規格を未選択(「選択してください」が表示)のまま、
「カゴに入れる」をクリックした場合の動作について質問です。 詳細画面で同じことをすると「 ※ [規格名]を入力してください。 」という赤メッセージが表示されますが、 リスト画面ではエラーが表示されずに、全商品のリスト画面に遷移してしまいます。 対応策をご存知の方教えてください。 よろしくお願いいたします。 ---------------------------------------- EC-CUBEバージョン 2.12.2 PHPバージョン PHP 5.3.3 DBバージョン PostgreSQL 8.4.13 |
usui100 |
投稿日時: 2012/12/5 17:25
対応状況: −−−
|
新米 登録日: 2012/12/5 居住地: 投稿: 3 |
Re: 2.12.2リスト画面で規格未選択状態で「カゴに入れる」をクリックするとエラーが表示されずに全商品のリスト画面に移動してしまう EC-CUBE初心者ですが、ちょうどそこで詰まっていましたので、
私のとった対応策を紹介します。 おそらく、JavaScript(jQuery)で実装している箇所のバグで 検索条件の引継ぎができていないことが原因かと思います。 そこで、以下のように修正しました。 /data/Smarty/templates/default/products/list.tpl fnInCartメソッド (52行目辺り) if (cartForm.has('input[name='+this+']')) { を、以下のように変えてみてください。 if (cartForm.has('input[name='+this+']').size() > 0) { $.hasメソッドの戻り値はDOM要素のラップ集合になりますので、 そのまま評価しますと常にtrueになってしまい、検索条件の 引継ぎが正常に行われません。 ですので、$.sizeメソッドで要素数を取得し、比較するように 修正しました。 ちなみにエラー自体は表示されているかと思います。 スクロールして確認してみてください。 |
knak |
投稿日時: 2012/12/7 15:55
対応状況: −−−
|
新米 登録日: 2012/11/12 居住地: 投稿: 6 |
Re: 2.12.2リスト画面で規格未選択状態で「カゴに入れる」をクリックするとエラーが表示されずに全商品のリスト画面に移動してしまう usui100様
ご回答ありがとうございました。 ご指導いただいた対応で、エラーが表示されるようになりました。 「カゴに入れる」ボタンをクリックすると、商品の下にhidden属性のinputボックスと思われる値が、一瞬表示されてしまうので、実装については検討したいと思います。 返信が遅れて申し訳ありませんでした。 また、ご丁寧な解説をしていただき、感謝しております。 ありがとうございました。 これからもよろしくお願いします。 |
usui100 |
投稿日時: 2012/12/7 17:00
対応状況: −−−
|
新米 登録日: 2012/12/5 居住地: 投稿: 3 |
Re: 2.12.2リスト画面で規格未選択状態で「カゴに入れる」をクリックするとエラーが表示されずに全商品のリスト画面に移動してしまう 動きましたようで何よりです。
一瞬値が見えるところに関してましては、typeがhiddenになっていないようでした。 以下のように変更すれば、見えなくなるかと思います。 //57行目辺り cartForm.append($("<input/>").attr("name", this).val(searchForm.find('input[name='+this+']').val())); //変更後 cartForm.append($('<input/>').attr({"type": "hidden", "name": this}).val(searchForm.find('input[name='+this+']').val())); そういえば、私も気づかなかったのですが、バグ報告にはすでに上がってたみたいですね^^; http://svn.ec-cube.net/open_trac/ticket/1918 # $.size()と$.lengthは同じ値が返りますが、理由がなければlengthが推奨だそうです。 |
knak |
投稿日時: 2012/12/10 19:07
対応状況: 解決済
|
新米 登録日: 2012/11/12 居住地: 投稿: 6 |
Re: 2.12.2リスト画面で規格未選択状態で「カゴに入れる」をクリックするとエラーが表示されずに全商品のリスト画面に移動してしまう usui100様
情報ありがとうございます。 ご指導いただいた方法でうまくいきました! バグ報告があがっていたんですね。。 調べたつもりでしたが気付きませんでした。 重ね重ね、情報をありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |