バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 配送業者指定商品をカートに追加する場合の条件

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ashuz
投稿日時: 2012/2/13 13:14
対応状況: −−−
新米
登録日: 2012/2/13
居住地:
投稿: 1
配送業者指定商品をカートに追加する場合の条件
PHPを勉強しながらカスタマイズに取り組んでいます。
今回、初めて質問させていただきます。よろしくお願いします。

[EC-CUBE]2.11.4 を利用しています。

今回、公式ガイドブック(黒)にある

「商品ごとに配送設定できるようにする」にあるカートに追加できるかどうかの条件を変更したいと考えています。

現在:配送業者指定商品は、同じ商品のみ購入可能
   ※配送業者が同じでも、商品が違うとカートに入らない

変更:配送指定業者が同じ商品は購入可能
   ※配送業者が同じなら、商品が違ってもカートに入れられる


商品IDで判定していると思うのですが、それを配送業者IDに変更したいと思っています。
色々と試行錯誤しながら、やってみたのですが上手くいきません。


アドバイスよろしくお願いします。


カートに追加可能かを LC_page_Product_Detail.php で判定しています。

if($product_id != null){
//配送限定商品購入時に他の通常商品と同時に購入していないかチェック
$objCartSess = new SC_CartSession_Ex();
$objQuery = new SC_Query_Ex();
//カートの中身を取得
$cartItems =& $objCartSess->getAllCartList();
//選択した商品の配送限定商品IDを取得
$product = $objQuery->select("deliv_id","dtb_products","product_id = ?",array($product_id));
//選択した商品の商品タイプを取得
$product_class = $objQuery->select("product_type_id","dtb_products_class","product_id = ?",array($product_id));
//カゴに入れることが出来るか判定
//ダウンロード商品はチェックしない
if($product_class[0]['product_type_id'] == 1){
//カートに商品がなければチェックしない
if(count($cartItems[1])>0 ) {
//配送限定商品の判定
if($product[0]['deliv_id']!=NULL || $product[0]['deliv_id']!=""){
//配列の先頭の要素を取得
$cartProduct = array_shift($cartItems[1]);
//商品IDの取得
$cartProduct = $cartProduct['productsClass']['product_id'];
//カゴに入っている商品と異なっているか
if($cartProduct != $product_id ){
$objErr->arrErr['cartSum'] = '配送業者固定商品購入時はそれ以外の商品を同時に購入することが出来ません。' ;
}
}else{
//カゴに配送限定商品が入っていないか
foreach($cartItems[1] as $val){
//配送IDの取得
$deliv_id = $objQuery->select("*","dtb_products","product_id = ?",array($val['productsClass']['product_id']));
//配送限定商品か
if($deliv_id[0]['deliv_id'] != NULL || $deliv_id[0]['deliv_id'] != ""){
$objErr->arrErr['cartSum'] = '配送業者固定商品購入時はそれ以外の商品を同時に購入することが出来ません。' ;
break;
}
}
}
}
}
}
ken5
投稿日時: 2012/7/5 17:37
対応状況: −−−
新米
登録日: 2012/6/28
居住地:
投稿: 10
Re: 配送業者指定商品をカートに追加する場合の条件
私も、こちらのカスタマイズに悩んでおり、書かせて頂きました。
どなたかご教示下さい。
ymiyamura
投稿日時: 2013/1/23 10:03
対応状況: −−−
常連
登録日: 2012/5/11
居住地:
投稿: 36
Re: 配送業者指定商品をカートに追加する場合の条件
引用部分17行目の
if($product[0]['deliv_id']!=NULL || $product[0]['deliv_id']!=""){

によって判定している部分がまず、選択した商品が配送限定商品の場合です。
その中で、

//配列の先頭の要素を取得
$cartProduct = array_shift($cartItems[1]);
//商品IDの取得
$cartProduct = $cartProduct['productsClass']['product_id'];
//カゴに入っている商品と異なっているか
if($cartProduct != $product_id ){
	$objErr->arrErr['cartSum'] = '配送業者固定商品購入時はそれ以外の商品を同時に購入することが出来ません。' ;
}

の処理を行っていますが、上記部分をproduct_idでなくdeliv_idで判定するように変更することで、実現可能かと思われます。

御参考となりましたら幸いです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,971名です
総投稿数は110,019件です

投稿数ランキング

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.