質問 > フロント機能 > 商品規格べつに送料計算はできますか? |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
joes |
投稿日時: 2013/7/16 19:54
対応状況: −−−
|
新米 登録日: 2010/10/15 居住地: 投稿: 6 |
商品規格べつに送料計算はできますか? [EC-CUBE] 2.12.2
[レンタルサーバ] kagoya サーバ [OS] CentOS [PHP] PHP 5.2.17 [データベース] PostgreSQL 8.1.23 [WEBサーバ] Apache/2.2.22 [ブラウザ] Google Chrome 25.0.1364.97 m いつもお世話になっております、joesと申します。 今回は 「1回のカートで発送日毎に送料計算がしたい!」という壁にぶつかり、ご質問させていただきます。例えばですが、 商品A⇒7月20日 に2個発送 商品B⇒7月25日 に3個発送 したい場合 デフォルトでは下記?か?のどちらかを選択だと思います。 ?1回のカートで1回の配送業者計算 または ?商品ごとの送料計算 つまり 1回分の発送料しか頂けないか、5回分の発送料を頂いてしまいます。 そこで今考えてるのが、 商品規格1に '日付' を登録し、 SC_CartSession.phpでclasscategory_id1を取得して classcategory_id1が同じ場合はそのままの送料で、違う場合は追加で倍の送料を頂くという事を考えていますが可能でしょうか? function adjustSessionProductsClass に'classcategory_id1' => true,を追記して // 配送業者の送料を加算 if (OPTION_DELIV_FEE == 1 && !SC_Utils_Ex::isBlank($deliv_pref) && !SC_Utils_Ex::isBlank($deliv_id)) { $results['deliv_fee'] += $this->sfGetDelivFee($deliv_pref, $deliv_id); } の $this->sfGetDelivFee($deliv_pref, $deliv_id);のあたりをif文で少しいじればできるのかな?なんて思ってますが、いまいち書き方がピンときてません。 どなたか、「こう書けばいいよ!」という方もしくは、「もっとこうした方がいい方法だ!」という方いらっしゃいましたら教えて頂けませんでしょうか? どうぞ宜しくお願いしますm(。・_・。)m |
AMUAMU |
投稿日時: 2013/7/22 18:54
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 商品規格べつに送料計算はできますか? このようなパターンは色々な実現方法があるので一概に言えないですが自分でやるとして、規格に日付を入れる方式で考えると
計算部分で参考にするのは、calculate関数の // 商品ごとの送料を加算 のコメント付近あたりかなと思います。 カートの中の商品状態を $cartItems = $this->getCartList($productTypeId); で取得した$cartItemsを操作して、計算条件に一致するか確認する感じかと思います。 その結果で直後の「配送業者の送料を加算」部分に対してバイアスをかける感じだと思います。
|
joes |
投稿日時: 2013/7/25 2:27
対応状況: −−−
|
新米 登録日: 2010/10/15 居住地: 投稿: 6 |
Re: 商品規格べつに送料計算はできますか? AMUAMU様、ご返信ありがとうございます!
またお返事が遅くなり申し訳ありませんでした。 アドバイスを受けて試行錯誤してます。 一応$cartItemsの中を見まして(dumpと言うんでしょうか?)使えそうなものを探すと、classcategory_name1(日付) や classcategory_id1 あたりが使えそうだなという感じです。 また、アドバイスにあった 「その結果で直後の「配送業者の送料を加算」部分に対してバイアスをかける」の部分ですが、 // 商品ごとの送料を加算 の OPTION_PRODUCT_DELIV_FEE == 1 と // 配送業者の送料を加算 の OPTION_DELIV_FEE == 1を共存(どちらもパラメータ1設定で)させて計算していくという意味で良いでしょうか? // 商品ごとの送料を加算 の部分で foreach ($cartItems as $arrItem) { 商品Aの$arrItem['productsClass']['classcategory_name1']は変数A; 商品Bの$arrItem['productsClass']['classcategory_name1']は変数B;} として、 // 配送業者の送料を加算 の部分で if(変数A==変数B){送料1つ分}else{送料加算}というイメージでやってます。 ちなみにPHPの書籍を見ながら自分なりに書いて何度もアップしましたが全然ダメな状況ですr(ー_ー;) 送料が0円になったり、送料に変化が見られなかったりです。 やっぱり肝心のphp文の書き方に問題があるようですが(本見ながらやってるんですが…。)。 foreach文で商品AとBの値を引っ張って来れてない気がしてたまりませんr(ー_ー;) ちょっとここで挫折したくないので、何とか更なるヒントを頂けないでしょうか? 宜しくお願いします!! |
joes |
投稿日時: 2013/8/19 17:19
対応状況: −−−
|
新米 登録日: 2010/10/15 居住地: 投稿: 6 |
Re: 商品規格べつに送料計算はできますか? 上記投稿者です。
どなたかこのスレッドの問題を解決できる方はいらっしゃらないでしょうか? 難しいかもしれませんが、もし分かる方がいたら是非ご教授をお願いします! 個人での質問のためあまりお礼など出来ませんがどうぞ宜しくお願いします!! |
yuh |
投稿日時: 2013/8/20 10:43
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 商品規格べつに送料計算はできますか? 商品規格別で送料を纏めるのであれば
SC_CartSession.phpのcalculate
こんな感じでできると思いますが、joes様の厳密な仕様を把握してないので、要求している仕様と合っているかどうかはわかりません。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |