Ticket #1200 (closed バグ指摘: 修正済)
複数配送業者登録時の送料計算が異常
Reported by: | AMUAMU | Owned by: | nanasess |
---|---|---|---|
Priority: | 高 | Milestone: | EC-CUBE2.11.1 |
Component: | フロント | Version: | 2.11.0 |
Keywords: | Cc: | ||
修正済み: | yes |
Description
コミュニティフォーラムにて tachisaさんから報告ありました。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7671&forum=9&post_id=37216
SC_Helper_DB::sfGetDelivFee() における送料計算が、複数配送業者登録を想定していないと思われます。
Change History
comment:2 Changed 13 years ago by nanasess
- Owner changed from somebody to nanasess
- Status changed from new to assigned
comment:3 follow-up: ↓ 4 Changed 13 years ago by shutta
SC_Helper_DB::sfGetDelivFee() にも下記のように記載されている
/* * FIXME 都道府県が指定されていない場合は、東京都の番号を指定しておく * http://svn.ec-cube.net/open_trac/ticket/410 */
#410 のチケットも関連するかと思います。
そちらのチケットでは、根本的な仕様検討が必要という状態で止まっています。
どうあるのが正しいのか分からないくらい現在の実装が乖離してしまっているように思えるので、本チケットと併せて根本的な仕様を精査する必要がありそうですね。
comment:4 in reply to: ↑ 3 ; follow-up: ↓ 5 Changed 13 years ago by nanasess
- 修正済み set
r20787 で修正しました.
shutta への返信
#410 のチケットも関連するかと思います。
そちらのチケットでは、根本的な仕様検討が必要という状態で止まっています。
どうあるのが正しいのか分からないくらい現在の実装が乖離してしまっているように思えるので、本チケットと併せて根本的な仕様を精査する必要がありそうですね。
購入フローを精査したところ, 送料計算が必要なのは, /shopping/confirm.php のみであり, SC_Helper_DB::sfGetDelivFee() には必ず pref_id が渡ってくるので, もう無理矢理 pref_id を代入しなくて大丈夫かなと思います.
comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6 Changed 13 years ago by shutta
nanasess への返信
r20787 で修正しました.
r20787 の影響により、 #1235 のバグが発生しています。
購入フローを精査したところ, 送料計算が必要なのは, /shopping/confirm.php のみであり, SC_Helper_DB::sfGetDelivFee() には必ず pref_id が渡ってくるので, もう無理矢理 pref_id を代入しなくて大丈夫かなと思います.
/cart/index.phpの送料無料計算する際に、SC_CartSession->calculate()を呼んでいて、そこからSC_Helper_DB::sfGetDelivFee()が呼ばれた時に送料が取得できません。
現在のカゴの中では、配送先を選択する前なので、pref_idやdeliv_idが渡せません。
恐らくここのために、 #410 での謎のpref_idのセットがあったのではないでしょうか?
comment:6 in reply to: ↑ 5 Changed 13 years ago by shutta
shutta への返信
nanasess への返信
r20787 で修正しました.
r20814 にて、送料無料チェック部分を別関数に分離し、 #1235 に影響が出た部分は修正しました。
購入フローを精査したところ, 送料計算が必要なのは, /shopping/confirm.php のみであり, SC_Helper_DB::sfGetDelivFee() には必ず pref_id が渡ってくるので, もう無理矢理 pref_id を代入しなくて大丈夫かなと思います.
/cart/index.phpの送料無料計算する際に、SC_CartSession->calculate()を呼んでいて、そこからSC_Helper_DB::sfGetDelivFee()が呼ばれた時に送料が取得できません。
現在のカゴの中では、配送先を選択する前なので、pref_idやdeliv_idが渡せません。
恐らくここのために、 #410 での謎のpref_idのセットがあったのではないでしょうか?
と書いてしまいましたが、pref_idやdeliv_idが渡せなくても問題ないようにしてますので、本チケットと #410 はこのままでOKだと思います。