質問 > フロント機能 > カート画面で送料計算が重量と個数に対応しないトラブル |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
chakochan |
投稿日時: 2014/4/6 5:09
対応状況: −−−
|
新米 登録日: 2014/4/4 居住地: 投稿: 5 |
カート画面で送料計算が重量と個数に対応しないトラブル ショップ開業に向けて奮闘しているものです。
<ec cubeバージョン >2.13.1 <phpバージョン>5.3 下記のサイトを参考にして、重量に応じて送料を以下のように設定しました。 http://t-kitano.jugem.jp/?eid=698 <送料> 500gまで 850円 1kgまで 1600円 2kgまで 3150円 5kgまで 6200円 ところが、カート画面上で、同じ商品を複数購入した場合などに 送料が重量と個数に比例せずに、ある一定の値段で表示されてしまいます。 <例> 一個750gの商品を4個購入時に、3kgで送料が6200円となるはずが、 1600円と表示されてしまうケース これはどうしてでしょうか?いろいろ試してみましたが、どこを修正すればよいのかが解りませんので、対処法を出来るだけわかりやすく教えてください。宜しくお願いします。 </data/class/SC_CartSession.php内の該当するソース部> // 重量に応じた送料を返す $weight = $this->getAllProductsWeight($productTypeId); if ($weight <= 500) { $results['deliv_fee'] += 850; } else if ($weight <= 1000) { $results['deliv_fee'] += 1600; } else if ($weight <= 2000) { $results['deliv_fee'] += 3150; } else if ($weight <= 5000) { $results['deliv_fee'] += 6200; } else if ($weight <= 10000) { $results['deliv_fee'] += 12000; } else if ($weight <= 20000) { $results['deliv_fee'] += 23000; } else { $results['deliv_fee'] += 38000; } |
yuh |
投稿日時: 2014/4/6 11:23
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: カート画面で送料計算が重量と個数に対応しないトラブル getAllProductsWeightで返ってくる値は正しい数値は正しい数値が返ってきてるのでしょうか?
|
sumida |
投稿日時: 2014/4/6 11:53
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: カート画面で送料計算が重量と個数に対応しないトラブル 私もそう思います。
getAllProductsWeightのなかで、数量とかけ算していないように思います。 |
chakochan |
投稿日時: 2014/4/7 3:58
対応状況: −−−
|
新米 登録日: 2014/4/4 居住地: 投稿: 5 |
Re: カート画面で送料計算が重量と個数に対応しないトラブル ご指摘いただきありがとうございます。
試行錯誤の結果、下記のように自己解決しました。 /data/class/SC_CartSession.php内 // 全商品の合計重量 function getAllProductsWeight($productTypeId) { $weight = 0; $max = $this->getMax($productTypeId); for ($i = 0; $i <= $max; $i++) { $weight += $this->cartSession[$productTypeId][$i]['weight']; } return $weight; } を // 全商品の合計重量 function getAllProductsWeight($productTypeId) { $weight = 0; $max = $this->getMax($productTypeId); for ($i = 0; $i <= $max; $i++) { $weight+= $this->cartSession[$productTypeId][$i]['weight'] * $this->cartSession[$productTypeId][$i]['quantity']; } return $weight; } に変更することで解決いたしました。 追加でもう一点質問ですが、カート画面で、客が購入したい商品の重さを確認できるように、重量の合計が表示されるようにしたいのですが、どのファイルをどのように変更したらよいのでしょうか?解る方がいらっしゃいましたら、ぜひ教えてください。宜しくお願いいたします。 |
yuh |
投稿日時: 2014/4/7 14:39
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: カート画面で送料計算が重量と個数に対応しないトラブル 作成したgetAllProductsWeightをカートの画面に仕込んで表示すればいいのではないでしょうか?
|
chakochan |
投稿日時: 2014/4/8 0:08
対応状況: −−−
|
新米 登録日: 2014/4/4 居住地: 投稿: 5 |
Re: カート画面で送料計算が重量と個数に対応しないトラブル yuh様ご連絡ありがとうございます。
getAllProductsWeightをカートの画面に仕込んで表示する とありますが、ソースに詳しくありませんので、もう少し わかりやすく教えていだたけないでしょうか? どのファイルで、ファイルのどの箇所をどう書き換えたらよいか ご指示ください! 宜しくお願いします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |