バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 一部商品のみ送料を設定したいが反映されません

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
vity78
投稿日時: 2015/6/10 10:45
対応状況: −−−
新米
登録日: 2015/6/10
居住地:
投稿: 8
一部商品のみ送料を設定したいが反映されません
EC-CUBEバージョン「2.11.5」
PHPバージョン「PHP 5.2.17p3」
DBバージョン「MySQL 5.0.67-log」

目的「一部商品のみ送料を設定したい」

現状、一定購入金額以上であれば送料が無料になる設定をしています。
ですが、個別に送料を設定しても反映されません。
送料の部分は「SC_CartSession」にて沖縄と北海道のみ10000円以上で送料が無料になるという風にしているようです。
ただ、以前の管理者はもうおらず、誰も触ることがなかったEC-CUBEを急遽触ることになった為、1人では調べても把握しきれませんでした。
お手数をおかけしますが、下記内容からどのように変更すれば一部商品にのみ送料を発生させることができるか教えて頂ければ幸いです。
よろしくお願い致します。


【設定内容】
SHOPマスターの「送料無料条件」を「5400」円以上購入時に無料に設定
パラメーターの「OPTION_PRODUCT_DELIV_FEE」を「1」にして有効に設定
※上記設定から商品登録ページから個別に送料を設定しても反映されませんでした。


【送料部分のコード】
function calculate($productTypeId, &$objCustomer, $use_point = 0,
$deliv_pref = "", $charge = 0, $discount = 0, $deliv_id = 0)
{
$objDb = new SC_Helper_DB_Ex();

$total_point = $this->getAllProductsPoint($productTypeId);
$results['tax'] = $this->getAllProductsTax($productTypeId);
$results['subtotal'] = $this->getAllProductsTotal($productTypeId);
$results['deliv_fee'] = 0;

// 商品ごとの送料を加算
if (OPTION_PRODUCT_DELIV_FEE == 1)
{
$cartItems = $this->getCartList($productTypeId);
foreach ($cartItems as $item)
{
$results['deliv_fee'] += $item['productsClass']['deliv_fee'] * $item['quantity'];
}
}

// 配送業者の送料を加算
if (OPTION_DELIV_FEE == 1
&& !SC_Utils_Ex::isBlank($deliv_pref)
&& !SC_Utils_Ex::isBlank($deliv_id))
{
$results['deliv_fee'] += $objDb->sfGetDelivFee($deliv_pref, $deliv_id);
}

//mod start 20120817 送料計算
//北海道と沖縄は、購入金額10,000円未満は送料1,500円、以上は送料無料
//沖縄と北海道以外は購入金額5,000円未満で送料500円、以上は送料無料
switch ($deliv_pref[0])
{
case 1: //北海道
case 47: //沖縄
if (($results['subtotal']) > 10000)
{
$results['deliv_fee'] = 0;
}
break;
default: // 他
if ($this->isDelivFree($productTypeId))
{
$results['deliv_fee'] = 0;
}
}

// 送料無料チェック
//if ($this->isDelivFree($productTypeId)) {
// $results['deliv_fee'] = 0;
//}

//mod end 20120817 送料計算
// 合計を計算
$results['total'] = $results['subtotal'];
$results['total'] += $results['deliv_fee'];
$results['total'] += $charge;
$results['total'] -= $discount;

// お支払い合計
$results['payment_total'] = $results['total'] - $use_point * POINT_VALUE;

// 加算ポイントの計算
if (USE_POINT !== false) {
$results['add_point'] = SC_Helper_DB_Ex::sfGetAddPoint($total_point,
$use_point);
if($objCustomer != "") {
// 誕生日月であった場合
if($objCustomer->isBirthMonth()) {
$results['birth_point'] = BIRTH_MONTH_POINT;
$results['add_point'] += $results['birth_point'];
}
}
if($results['add_point'] < 0) {
$results['add_point'] = 0;
}
}
return $results;
}


〜略〜

}
tsuji
投稿日時: 2015/6/10 13:13
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 一部商品のみ送料を設定したいが反映されません
vity78 様

> 目的「一部商品のみ送料を設定したい」
> 現状、一定購入金額以上であれば送料が無料になる設定をしています。
> ですが、個別に送料を設定しても反映されません。
> お手数をおかけしますが、下記内容からどのように変更すれば一部商品にのみ送料を発生させることができるか教えて頂ければ幸いです。

これは、送料無料になった場合、商品ごとに設定した送料は無料とはならず
送料に加算されていてほしいということでしょうか?

ソースコードを見ると下記の順で送料計算を行っています。
1. 商品ごとの送料加算
2. 配送業者の送料加算
3. 送料無料の計算
この手順だと送料無料の条件を満たすと送料が0円になります。

これを下記の順に変えるなら
1. 配送業者の送料加算
2. 送料無料の計算
3. 商品ごとの送料加算
商品ごとの送料加算は残る形になります。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

vity78
投稿日時: 2015/6/10 13:58
対応状況: −−−
新米
登録日: 2015/6/10
居住地:
投稿: 8
【追記有】一部商品のみ送料を設定したいが反映されません
tsuji様

ありがとうございます。
教えて頂いた部分を入れ替えたところ、望んでいた通りに変更できました。


【追記】
教えて頂いた通りに順番を入れ替えたところ、送料が反映されるようになりましたが、いろいろ試していたところ、送料を設定した商品を例えば2つ購入すると送料も2個分で表示されていました。
この際、送料は1個分で計算したいのですが、どこをどういじれば良いのでしょうか。

よろしくお願い致します。
yuh
投稿日時: 2015/6/10 14:28
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 【追記有】一部商品のみ送料を設定したいが反映されません
* $item['quantity']
を消せばいいと思います。
vity78
投稿日時: 2015/6/10 14:36
対応状況: −−−
新米
登録日: 2015/6/10
居住地:
投稿: 8
Re: 【追記有】一部商品のみ送料を設定したいが反映されません
yuh様

ありがとうございました。
教えて頂いた箇所を削除してうまく計算されるようになりました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
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.