質問 > フロント機能 > 規格のある商品の一括購入 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dream777 |
投稿日時: 2015/4/30 20:10
対応状況: −−−
|
半人前 登録日: 2015/2/27 居住地: 投稿: 20 |
規格のある商品の一括購入 お世話様です。
現在、規格のある商品を商品一覧からまとめて購入できればと考えています。 規格を選ぶプルダウンの所に、【全て購入】という選択肢を増やせれば理想です。 data/Smarty/templates/default/products/list.tpl を弄らなくてはいけないと思うのですが、具体的にどうしていいかわかりません。 どうかお助けください。よろしくお願いします。 |
yuh |
投稿日時: 2015/4/30 22:50
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 規格のある商品の一括購入 ぱっと思い浮かぶのは「すべて購入」ボタンをする方法ですね。
テンプレートだけではなくLC_Page_Products_List.phpも弄る必要があると思います。 プルダウンにすべて購入でも、すべて購入ボタンでもどちらでもいいんですが、なんらかの値を受け取った時に、 LC_Page_Products_ListのlfAddCartで全部の企画をカートに入れるように調整すればできますよ |
dream777 |
投稿日時: 2015/5/1 12:04
対応状況: −−−
|
半人前 登録日: 2015/2/27 居住地: 投稿: 20 |
Re: 規格のある商品の一括購入 yuh様
返信ありがとうございます。 data/Smarty/templates/default/products/list.tplの規格の所に <option value="all">全て購入</option> として「全て購入」の選択肢を増やしたのですが、この後の処理が分りません。 data/class/pages/products/LC_Page_Products_List.phpの方は、 460行目あたりの、 public function lfAddCart($arrForm) { $objCartSess = new SC_CartSession_Ex(); $product_class_id = $arrForm['product_class_id']; $objCartSess->addProduct($product_class_id, $arrForm['quantity']); } 辺りに処理を足す感じでしょうか? |
yuh |
投稿日時: 2015/5/1 12:57
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 規格のある商品の一括購入 その場合、lfInitParamのINT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')とかのチェックに引っかかるので、$product_class_id = $arrForm['product_class_id'];では値は取れないのでallの場合はarrErrからそのエラーをはじく等の処理が必要になってきます。
多分その「全て購入」を追加したのがclasscategory_id1だと思うので、別途別の処理を追加になると思います。 なので、product_idが存在していて、classcategory_id1がallの場合にifAddCartをコピーして別メソッドを作って、そちらの方でまとめて全部入れる処理を書いた方がいいかもですね。 |
dream777 |
投稿日時: 2015/5/1 17:59
対応状況: −−−
|
半人前 登録日: 2015/2/27 居住地: 投稿: 20 |
Re: 規格のある商品の一括購入 yuh様
お世話様です。 INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')の 'NUM_CHECK'を外して、public function lfAddCartを下記の様に変更してみました。 (ifAddCartをコピーはわからなくて出来ませんでした。すみません。。。) public function lfAddCart($arrForm) { $objCartSess = new SC_CartSession_Ex(); $product_class_id = $arrForm['product_class_id']; if ($product_class_id == all) { $objCartSess->addProduct($arrClassCat1[$id], $arrForm['quantity']); } else { $objCartSess->addProduct($product_class_id, $arrForm['quantity']); } } 結果、規格を選ばなくてもカートに入ったり、「全て購入」を選択すると、一つだけ入ったりするようになってしまいました。 どこがおかしいのでしょうか? |
yuh |
投稿日時: 2015/5/1 18:15
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 規格のある商品の一括購入 DBから該当のproduct_class_idをすべて取得して、ループでaddProductでカートに入れてく感じです。
|
dream777 |
投稿日時: 2015/5/4 11:17
対応状況: −−−
|
半人前 登録日: 2015/2/27 居住地: 投稿: 20 |
Re: 規格のある商品の一括購入 お世話様です。 色々試しているのですが、中々実現できません。。。 もし可能であれば、サンプルコードを頂けないでしょうか よろしくおねがいします。 |
yuh |
投稿日時: 2015/5/4 13:31
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 規格のある商品の一括購入 Smarty/templates/default/products/list.tpl
かごに入れるボタンあたりをこんな感じで変更 LC_Page_Products_List_Ex.phpを
こんな感じで追記するとできます。 |
dream777 |
投稿日時: 2015/5/5 11:40
対応状況: −−−
|
半人前 登録日: 2015/2/27 居住地: 投稿: 20 |
Re: 規格のある商品の一括購入 yuh様
できました!すごいです。。。 こんなにも素晴らしいコードを教えていただき本当にありがとうございます。すごくうれしいです。 とても助かりました。本当にありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |