バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 手数料の設定が合計からの条件に出来ません。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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'];

を入れて合計判断できるようにしました。
以上です。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,028名です
総投稿数は110,020件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
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.