バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カート画面で送料計算が重量と個数に対応しないトラブル

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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をカートの画面に仕込んで表示する

とありますが、ソースに詳しくありませんので、もう少し
わかりやすく教えていだたけないでしょうか?


どのファイルで、ファイルのどの箇所をどう書き換えたらよいか
ご指示ください!


宜しくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,908名です
総投稿数は110,006件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.