バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 同梱不可で個数分の送料が地域別にかかるようにしたい

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
l58
投稿日時: 2015/2/21 17:24
対応状況: −−−
常連
登録日: 2015/2/15
居住地:
投稿: 36
同梱不可で個数分の送料が地域別にかかるようにしたい
初めて投稿させていただきます。

ECCUBE 2.13を使用しています。

送料の設定で、同梱不可の商品にも地域別送料が加算されるようにしたいのですがうまくいきません。

同梱不可商品を同じ配送先へ2つ購入した場合、送料が2つ分加算されるようにしたいです。

送料無料設定はありません。

data/class/SC_CartSession.php の 
function calculate(・・・
の計算式を書き換えればいいのかと思ったのですが思ったようになりません。

カスタマイズ方法やカスタマイズ箇所について、どなたかお知恵をお貸し頂ければ幸いです。
宜しくお願いいたします。

yuh
投稿日時: 2015/2/22 15:02
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 同梱不可で個数分の送料が地域別にかかるようにしたい
同梱不可の設定ってありましたっけ?

一応商品ごとの送料は個数で変わるようになってるとおもいます。
l58
投稿日時: 2015/2/23 0:27
対応状況: −−−
常連
登録日: 2015/2/15
居住地:
投稿: 36
Re: 同梱不可で個数分の送料が地域別にかかるようにしたい
ご返信ありがとうございます。

確かに商品ごと送料を設定すれば、個数分加算されるのですが、地域ごとに異なる送料で設定するにはどのようにしたら良いのでしょうか。

例えば各商品にそれぞれ1000円の送料を設定し、沖縄と北海道はそれぞれ+400円(1400円)の送料がかかります。

data/class/SC_CartSession.phpの
public function calculate(... を下記のようにしてみましたが、同じ商品を2つ北海道宛に購入した場合、400円は1つ分の商品にしか加算されません。

$isPriceOverride = true;
// 商品ごとの送料を加算
if (OPTION_PRODUCT_DELIV_FEE == 1) {
$cartItems = $this->getCartList($productTypeId);
foreach ($cartItems as $arrItem) {
if($deliv_pref[0] == 1 or $deliv_pref[0] == 47) {
if(!($arrItem['productsClass']['deliv_fee'] )){
$results['deliv_fee'] += ($arrItem['productsClass']['deliv_fee']+400) * $arrItem['quantity'];
}else{
$results['deliv_fee'] += $arrItem['productsClass']['deliv_fee'] * $arrItem['quantity'];
}
}
if($arrItem['productsClass']['deliv_fee'] !== '0'){
$isPriceOverride = false;
}
}
}

php初心者のため根本的なところが間違っているかもしれません。

お知恵をお貸し頂ければ幸いです。

yuh
投稿日時: 2015/2/23 10:34
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 同梱不可で個数分の送料が地域別にかかるようにしたい
$deliv_prefが変数で渡ってくる場合と、配列で渡ってくる場合があるので、そこらへんで不具合が起こってると思います
l58
投稿日時: 2015/3/1 3:10
対応状況: −−−
常連
登録日: 2015/2/15
居住地:
投稿: 36
Re: 同梱不可で個数分の送料が地域別にかかるようにしたい
ありがとうございます。

>> $deliv_prefが変数で渡ってくる場合と、配列で渡ってくる場合がある

確かに!!そうですね。
理屈はわかるのですが、具体的にどのようにすればよいのかわかりません。

変数で渡ってくる$deliv_prefを配列にすればいいのでしょうか。

$deliv_pref = array(); と、
// 配送業者の送料を加算の箇所に付け加えてみたのですが

例えば北海道に3つ購入した場合、北海道の送料が3つ分加算されるようになりました。

通常配送料エリアに3つ購入した場合は通常配送料が3つ分加算されるようになりました。

でも、北海道に2つ、通常配送料エリアに1つとした場合も3つ分の北海道の送料が加算されてしまいます。




yuh
投稿日時: 2015/3/2 10:08
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 同梱不可で個数分の送料が地域別にかかるようにしたい
複数配送は使用する前提でいいんでしょうか?
たしか$deliv_prefが配列で渡ってくる場合は複数配送の場合なはずなので、複数配送を使用しないのであれば簡単にできるんですが・・・。

複数配送の場合は配送先と商品の関連付けが必要になってきます。
l58
投稿日時: 2015/3/3 8:30
対応状況: −−−
常連
登録日: 2015/2/15
居住地:
投稿: 36
Re: 同梱不可で個数分の送料が地域別にかかるようにしたい
複数配送も使用したいです。
配送先と商品の関連付けとは、具体的にどのようにすればいいのでしょうか?



yuh
投稿日時: 2015/3/3 10:15
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 同梱不可で個数分の送料が地域別にかかるようにしたい
複数配送に対して行う場合は、単一の配送先の場合とは処理を完全にわけてください。
テストで複数配送先に対してどのような形でデータが入るかを確認して、配送先に対して商品が登録されているはずなので、そのデータを元に組み立ててください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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