質問 > 管理機能 > 手数料の設定が合計からの条件に出来ません。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ks-d-k |
投稿日時: 2011/4/26 3:12
対応状況: −−−
|
半人前 登録日: 2010/11/15 居住地: 鹿児島 投稿: 24 |
手数料の設定が合計からの条件に出来ません。 システムバージョン 2.4.1
PHPバージョン PHP 5.2.8 DBバージョン MySQL 5.0.82 お世話になります。 購入手続きで、10,500円未満は送料315円として設定しました...が、その設定は、小計の取得 $arrData['subtotal'] = $objPage->tpl_total_pretax;からの条件で、合計金額の設定ではないみたいです。 送料等はdata/class/helper/SC_Helper_DB.phpでの修正でなんとかなったのですが、 問題は、お支払い設定が小計での判定で合計の条件結果になりません。 場所は下記の場所だと思いますが、どう処理すればいいのかが分かりません。PHPはまだ理解できません。 data/class/pages/shopping/LC_Page_Shopping_Payment.phpのだいたい155行目です。 // 購入金額の取得 $total_pretax = $objCartSess->getAllProductsTotal($arrInfo); // 支払い方法の取得 $this->arrPayment = $this->lfGetPayment($total_pretax); すでに、$total_pretaxの小計設定になっていますので、合計にするにはどうすれば、いいのか分かりません。 直接$arrData['total']と入れると、”不正なアクセスです”と出ます。 すみませんが、どなたか宜しくお願いいたします。 |
ks-d-k |
投稿日時: 2011/4/26 13:20
対応状況: −−−
|
半人前 登録日: 2010/11/15 居住地: 鹿児島 投稿: 24 |
すみません。自己解決いたしました。 data/class/pages/shopping/LC_Page_Shopping_Payment.phpの155行あたり
// 支払い方法の取得 $this->arrPayment = $this->lfGetPayment($total_pretax); の所を // 支払い方法の取得 $this->arrPayment = $this->lfGetPayment($arrData['total']); と修正しただけではなく、 337行目に function lfGetPayment($total_pretax) { $objQuery = new SC_Query(); $objQuery->setorder("rank DESC"); //削除されていない支払方法を取得 $arrRet = $objQuery->select("payment_id, payment_method, rule, upper_rule, note, payment_image", "dtb_payment", "del_flg = 0 AND deliv_id IN (SELECT deliv_id FROM dtb_deliv WHERE del_flg = 0) "); //利用条件から支払可能方法を判定 foreach($arrRet as $data) { //下限と上限が設定されている if($data['rule'] > 0 && $data['upper_rule'] > 0) { if($data['rule'] <= $total_pretax && $data['upper_rule'] >= $total_pretax) { $arrPayment[] = $data; } //下限のみ設定されている } elseif($data['rule'] > 0) { if($data['rule'] <= $total_pretax) { $arrPayment[] = $data; } //上限のみ設定されている } elseif($data['upper_rule'] > 0) { if($data['upper_rule'] >= $total_pretax) { $arrPayment[] = $data; } //設定なし } else { $arrPayment[] = $data; } } return $arrPayment; } とありますので、$total_pretaxを$arrData['total']に 変更した事で、無事合計後の手数料として動作してくれたみたいです。 まずは一安心でした |
ks-d-k |
投稿日時: 2011/4/27 18:42
対応状況: 解決済
|
半人前 登録日: 2010/11/15 居住地: 鹿児島 投稿: 24 |
自己解決、その2 $arrData['total']に置き換えると10,500円以上でも手数料が無料にならなくなりましたので、
$total_pretax をそのまま活かすために、計算して、総合計としておけば合計に判断すると思い、下記の通りに修正しました。 // 購入金額の取得 $total_pretax = $objCartSess->getAllProductsTotal($arrInfo) の下に $this->$total_pretax -= $arrData['discount']; を入れて合計判断できるようにしました。 以上です。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |