バグ報告 > フロント機能 > [2.12.1] お届け先の指定画面で複数配送を選択し、お届け先が一箇所の場合、表示や送料計算がおかしい |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
crl_sn |
投稿日時: 2012/9/19 14:14
対応状況: −−−
|
新米 登録日: 2012/1/10 居住地: 投稿: 8 |
Re: [2.12.1] お届け先の指定画面で複数配送を選択し、お届け先が一箇所の場合、表示や送料計算がおかしい スレッドを作成したものです。
soy_bean様、ご確認ありがとうございました。 本日、EC-CUBEの最新版2.12.2をダウンロードし試してみたところ、同じ現象が再現しました。 あれから私の方でこの問題の解決方法を探ったところ、以下の暫定コードで解決しそうです。 data/class_extends/helper_extends/SC_Helper_Purchase_Ex.phpに、以下のメソッドを追記
getShippingTempが怪しいかなと思っていましたが、このメソッドはコード上では以下のように使われています。 $objPurchase->getShippingTemp(); 引数がない場合 $objPurchase->getShippingTemp($this->is_multiple); 引数がある場合(true:複数配送、false:一箇所配送) 私は今までのEC-CUBEの開発の経緯がわかっていませんが、 引数がない場合は、$_SESSION['shipping']を返して、引数がある場合はshipment_itemがあるものを返すようにしないといけないと思われます。 (この理由は端折りますが、色々とソースを追ってみてそう思いました) この修正で、問題なく動作していると思われますが、皆さんのご意見をお聞かせいただければと思います。 認識に間違いなどありましたら、ご指摘ください。 [追記] 補足ですが、暫定的に引数を「$has_shipment_item = 'no'」としましたが、 もし綺麗に修正するのであれば、呼び出し元も修正しないといけないと思っています。 またsoy_bean様のご指摘の通り、セッションあたりも怪しいかもしれません。 |
soy_bean |
投稿日時: 2012/9/18 4:06
対応状況: −−−
|
新米 登録日: 2012/8/14 居住地: 投稿: 5 |
Re: [2.12.1] お届け先の指定画面で複数配送を選択し、お届け先が一箇所の場合、表示や送料計算がおかしい 実際のサーバーでも異常が見られたので、WebMatrixを使ってカスタマイズなしのローカルで試したところ。
1度複数お届け先を指定したあと、送り先の数を減らして複数お届けを使って1ヵ所に送ろうとした場合に、「送料計算」や「お届け時間の指定」がおかしくなりました。 発生例1) 2つの商品を複数お届けを使い、2か所に指定した。 その後payment画面からカートに戻り商品を1つにし、 複数お届けから1ヵ所に送ろうとした。 発生例2) 2つの商品を複数お届けを使い、2か所のお届け先を指定した。 その後payment画面から戻り、multiple画面で1ヵ所に2つの商品を送ろうとした。 自分でも解決案を調べていますが送料や送り先がおかしくなっており、実際の購入の場面でも十分発生する可能性があると思うのでなにか解決策はないでしょうか。 追記) とりあえずsessionのshippingデータが残っているのが原因だと思うので、shippingデータをリセットするようにしてます。 何か意図があって残しているのでしょうか
|
crl_sn |
投稿日時: 2012/8/20 15:19
対応状況: −−−
|
新米 登録日: 2012/1/10 居住地: 投稿: 8 |
[2.12.1] お届け先の指定画面で複数配送を選択し、お届け先が一箇所の場合、表示や送料計算がおかしい 環境は、2.12.1で確認しました。
再現手順は、以下です。 ・会員にて、商品を2個カートに入れる ・お届け先の指定画面にて、「複数のお届け先に送る」クリック ・お届け先の複数指定画面にて、お届け先二箇所に、商品1個ずつ設定 ・ご入力内容のご確認画面まで進んだら、カート画面に戻る ・再度、お届け先の複数指定画面まで進み、お届け先一箇所に、商品を2個設定 →その次の、お支払方法・お届け時間等の指定画面の、「お届け時間の指定」が お届け先が一箇所なのに、二つ表示される。 またご入力内容のご確認画面で、送料が二箇所分になっている。 以下でも再現できます。 ・会員にて、商品を1個カートに入れる ・お届け先の指定画面にて、「複数のお届け先に送る」クリック ・お届け先の複数指定画面にて、任意のお届け先を選択し次へ進む ・カート画面に戻り、お届け先の複数指定画面まで進めて、先ほどとは違う住所を選択 現段階で分かっていることは、 ・「複数のお届け先に送る」で、複数お届け先を選んだ場合は正常 ・一箇所に送る場合は、お届け先の指定画面で「複数のお届け先に送る」をクリックせず進むと正常 つまり、「複数のお届け先に送る」を選択して、一箇所に送る場合に不具合があるようです。 非会員でも再現しました。 実際にこういう使われ方をしないかもしれませんが、送料計算がおかしくなるのは問題だと思います。 解決方法について、検討しました。(まだ解決はしていませんが・・) 以下の関数が絡んでいるのではと思っています。 (それとis_multiple?) $objPurchase->getShippingTemp 私の方で試したのは、SC_CartSessionとSC_Helper_Purchaseの中の、isMultiple関数を必ずtrueを返すように修正しましたら、 なんとなく正常に動いていそうです。 ただ良い修正方法ではないと思いますし、その他ではどういう修正が良いかは分かっていません。 もし解決方法があれば、すみませんが教えていただけますと幸いです。 [追記] 下記のフォーラムも拝見しました。おそらく根本の原因は同じかと思われます。 ちなみに以下でも解決方法が探せませんでした。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=11136&forum=8 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |