UHH51****@nifty*****
UHH51****@nifty*****
2006年 2月 3日 (金) 12:59:02 JST
曽我部様 ご返答 誠に有難うございます。 お教え頂きました通り、 cataog/includes/classes/shopping_cart.phpのget_products()の修正と checkout_payment.php に追加する事で、思っていた通り、動作致しました。 何時も的確にお教え/ご指導頂き 誠に感謝しております。 今後ともよろしくお願い致します。 yoshi ----- Original Message ----- From: "Seiji Sogabe" <sogab****@nttco*****> To: <tep-j****@lists*****> Sent: Friday, February 03, 2006 10:30 AM Subject: [Tep-j-general] Re: 特定の商品のみカード決済モジュールを表示させない方法 > 曽我部です。 > > UHH51****@nifty***** wrote: >> お教え頂きました通り、checkout_payment.php に追加し、 >> 追加したフィールドproducts_xxxに対して、条件を入れ >> カート内に単品の場合は、動作しますが、商品によって >> カード無効/有効する商品があり、カート内に混存する場合の >> 注出方法は、どのようにするのかが分からずまた投稿させて頂きました。 >> ヒントだけでも宜しいですのでご返答お願いします。 > > checkout_payment.php でカートにある商品の情報を取得するには、 > $cart->get_products()を使用します。 > ただし、今回追加したproducts_xxxはそのままでは取得できないので、 > cataog/includes/classes/shopping_cart.phpのget_products()を修正する > 必要があります。該当箇所をみれば修正方法はわかると思います。 > > get_products()を修正すれば、checkout_payment.php で、 > > $products = $cart->get_products(); > $flag = true; > foreach ( $products as $product ) { > if ($product['products_xxx'] == '0') { > $flag = false; > break; > } > } > > とすれば、カード無効の商品がある場合、$flagがfalseになるので、 > > // カートにカード無効の商品がある場合、クレジット決済を非表示 > if ( !$flag && $selection[$i]['id'] == 'cc' ) { > continue; > } > > とすれば、いいのではないでしょうか。 > > では。 > > _______________________________________________ > Tep-j-general mailing list > Tep-j****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/tep-j-general