バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 送料商品別設定を有効にして複数購入した場合の送料計上について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nobsan
投稿日時: 2015/10/16 11:22
対応状況: −−−
常連
登録日: 2014/11/26
居住地:
投稿: 32
Re: 送料商品別設定を有効にして複数購入した場合の送料計上について
tsuji様 yuh様

ご丁寧かつ親身にご教示頂きましてありがとうございます。

実運用中なこともあり、早速お客様からこの件のお問い合わせが入ってしまい、ゆっくり修正する余裕がございません(汗)

yuh様ご指摘の問題点はございますが、現時点での矛盾をとりあえず解消するため、tsuji様の案が有効であればやってみようと思いますが、全国一律であればtsuji様の案でも矛盾は出ないということで理解して良いでしょうか?

yuh
投稿日時: 2015/10/16 11:39
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 送料商品別設定を有効にして複数購入した場合の送料計上について
全国一律でも矛盾は出ると思います。

対応するとすれば

        // 商品ごとの送料を加算
        if (OPTION_PRODUCT_DELIV_FEE == 1) {
            foreach($_SESSION['shipping'] as $delivkey => $devlv){
                foreach($deliv['shipment_item'] as $itemkey => $item){
                    $results['deliv_fee'] += $item['productsClass']['deliv_fee'];
                }
            }
        }

こんな感じですかね?
テストはあまりしてないので、不具合があるかもしれないので参考程度に。
nobsan
投稿日時: 2015/10/16 16:52
対応状況: −−−
常連
登録日: 2014/11/26
居住地:
投稿: 32
Re: 送料商品別設定を有効にして複数購入した場合の送料計上について
yuh様

ご教示頂いたソースで試しましたが、残念ながらうまく行きませんでした。

セッション配列にどういった値で格納されているか分からないため、その他のスクリプトが思いつきませんでした。

ただ、理論上なのですが、全国一律が前提ならば、関数の先頭でお届け先がいくつあるかを取得できれば、

foreach ($cartItems as $arrItem) {
$results['deliv_fee'] += $arrItem['productsClass']['deliv_fee'] * $お届け先数;
}

というスクリプトが成り立つかな?と思いました。

そこでご教示頂きたいのですが、お届け先がいくつあるのかを任意の変数に整数で取得するにはどんなスクリプトを書けば良いでしょうか?

色々面倒なことをお伺いして恐縮ですがよろしくお願いします。
nobsan
投稿日時: 2015/10/16 17:36
対応状況: 解決済
常連
登録日: 2014/11/26
居住地:
投稿: 32
Re: 送料商品別設定を有効にして複数購入した場合の送料計上について
yuh様

今、思いつくまま下記のスクリプトで試しましたら、どうやらこちらの意図通りの動きになったようです。

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

とりあえず、複数商品をカートに入れ、お届け先を単一にすれば一つ分の送料が計上され、
お届け先を複数にすればお届け先分の送料が計上されました。

当分はこれで運用しながら不具合が出ないかウォッチしようと思います。

色々お手数掛けました。

ありがとうございました。
tsuji
投稿日時: 2015/10/26 10:40
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 送料商品別設定を有効にして複数購入した場合の送料計上について
nobsan 様

この方法ですと例えば下記の状況で不具合が発生します。
商品A、商品Bともに送料を500円と設定してあります。

商品Aを2つ、商品Bを1つ購入したとして、下記のような配送をすることにします

配送先1:商品A(送料:500円)
配送先2:商品Aと商品B(送料:500円+500円)

上記の場合、1500円が送料となるべきですが、下記の計算方法ですと

引用:

$results['deliv_fee'] = $arrItem['productsClass']['deliv_fee'] * $deliv_pref_num;


送料は1000円となります。


たとえ、これが下記だったとしても
引用:

$results['deliv_fee'] += $arrItem['productsClass']['deliv_fee'] * $deliv_pref_num;


送料は2000円となりますので、導き出したい送料1500円にはならないと思います。


配送先ごとの商品で送料計算を行う必要がありそうです。


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

« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,904名です
総投稿数は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.