バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 商品ごとに代引き支払不可を設定したい

管理機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
shin_shin
投稿日時: 2011/5/31 15:31
対応状況: −−−
常連
登録日: 2008/9/17
居住地:
投稿: 48
Re: 商品ごとに代引き支払不可を設定したい
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=3617&forum=10&post_id=14378

の「条件により支払方法を変更する」を参考にしていますが、上手くいきません。

今回の違いを考えると、私が作成した条件設定は
新規に「mtb_daibiki」をつくり、代引き表示=1 代引き非表示=2としました。

参考にさせて頂いているものを見ると、
dtb_productsの無制限チェックボックスを引用しています。

私が作成しているものは、フラグは
dtb_products_classに格納されています。

それを元に、
以下の作業をしましたが、上手くいきません。
というか、何もかわりません。
まず、
1.data>class>helper>SC_Helper_DB.php の該当箇所に以下を追加しました。

// ポイント付与率の登録
$objCartSess->setProductValue($arrCart[$i]['id'], 'point_rate', $arrData['point_rate']);

// //2011-05-31代引き表示フラグ追加
$objCartSess->setProductValue($arrCart[$i]['id'], 'daibiki', $arrData['daibiki']);



// 商品ごとの合計金額
$objPage->arrProductsClass[$cnt]['total_pretax'] = $objCartSess->getProductTotal($arrInfo, $arrCart[$i]['id']);

2.data>class>SC_CartSession.php に 以下のクラスを追加しました。

// カートの中の無制限フラグチェック
function chkdaibiki(){
$daibiki_chk_flg = 2;
$max = $this->getMax();
for($i = 1; $i <= $max; $i++) {
$daibiki = $_SESSION[$this->key][$i]['daibiki'];
if($daibiki == "1"){ //非表示設定がONの時
$daibiki_chk_flg ++;
}
}
return $daibiki_chk_flg;
}


3.data>class>pages>shopping>LC_Page_Shopping_Payment.php の function lfGetPayment に以下を追加しました。

//カート内に代引き非表示の商品があるかチェック($daibiki_chk_flgの取得)
$objCartSess = new SC_CartSession();
$daibiki_chk_flg = $objCartSess->chkdaibiki();



$objQuery = new SC_Query();
$objQuery->setorder("rank DESC");



//削除されていない支払方法を取得
//↓↓↓分岐処理追加
if($daibiki_chk_flg != "1"){ //代引表示商品がカートにあったとき



$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) ");


} else { //代引き表示商品がカートにないときは代引きを非表示にする

$arrRet = $objQuery->select("payment_id, payment_method, rule, upper_rule, note, payment_image",
"dtb_payment",
"del_flg = 2 AND deliv_id IN (SELECT deliv_id FROM dtb_deliv WHERE del_flg = 2) AND payment_id = 10 AND payment_id = 6 AND payment_id = 7 ");
//AND payment_id には表示させたい支払い方法を入れる

}

参考にさせて頂いているものは、
該当のフラグがあるときは、銀行振り込みだけにするというものですが、私の場合は、代引きのみを非表示にするということなので、
payment_idを10.6.7(銀行振込、クレジット、コンビニ、)という風に表示させたいのですが、記述がこれでよいのかわかりません。

また、

SC_Helper_DB.phpの追加表記方法ですが、
// //2011-05-31代引き表示フラグ追加
$objCartSess->setProductValue($arrCart[$i]['id'], 'daibiki', $arrData['daibiki']);

これも違う気がします。

dtb_productsにはフラグデータがないので、
mtb_daibikiから取得しないといけないのですが、記述方法がわかりません。

参考にしているフラグの取得方法はチェックボックスですが、今回私が作ったのは、ラジオボタンになり、0or1ではなく、1or2なのでこの辺も記載ミスなのかと思います。

どなたかご教授いただけますでしょうか?

何卒宜しくお願いします
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   商品ごとに代引き支払不可を設定したい shin_shin 2011/5/26 10:05
     Re: 商品ごとに代引き支払不可を設定したい patapata 2011/5/26 18:34
       Re: 商品ごとに代引き支払不可を設定したい shin_shin 2011/5/30 15:34
         Re: 商品ごとに代引き支払不可を設定したい shin_shin 2011/5/31 12:21
         » Re: 商品ごとに代引き支払不可を設定したい shin_shin 2011/5/31 15:31
             Re: 商品ごとに代引き支払不可を設定したい shin_shin 2011/6/1 4:38

 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1304
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.