バージョン選択

フォーラム

メニュー

オンライン状況

50 人のユーザが現在オンラインです。 (36 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 50
もっと...

サイト内検索

バグ報告 > フロント機能 > 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様

情報ありがとうございます。
ご指導いただいた方法でうまくいきました!

バグ報告があがっていたんですね。。
調べたつもりでしたが気付きませんでした。

重ね重ね、情報をありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,281名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.