EC-CUBE のPOSTとセッションの受け渡し
2010年 04月 20日
EC-CUBEver2.4.3
/data/class/pages/products/LC_Page_Products_Detail.php
今回、規格をチェックボックスなどにして規格毎に個数の入力エリアを持たせたのだが、
nameの配列をPOSTでホイホイしてるのだろうと簡単に思っていたら・・・
単にsessionを使用しているのでh無く、そのsessionをデータベースに入れてから使用しているというエラーが起きたら何時消えるんだ!という使用。
まぁ規格1複数表現とそれに対する個数テキストのセッションの取得の仕方。
html時にname=”classcategory_id1[]“としておけば、$classcategory_id1には配列化にされているけれど、
$quantityはまだ配列化されていないので、FormParamクラスから呼び出しで変数に配列として入力する。
以下がそんな感じ。
$objCartSess->setPrevURL($_SERVER['REQUEST_URI']);
$quantity = array();
$quantity = $this->objFormParam->getValue('quantity');
if(count($classcategory_id1) > 1){
for($i=0; $i<count($classcategory_id1); $i++){
$objCartSess->addProduct(array($_POST['product_id'], $classcategory_id1[$i], $classcategory_id2), $quantity[$i]);
}
}else{
for($i=0; $i<count($classcategory_id1); $i++){
$objCartSess->addProduct(array($_POST['product_id'], $classcategory_id1[$i], $classcategory_id2), $quantity[$i]);
}
}
SQLものぞいたけどちょっと・・・
沢山class化しているならもっとさわりやす(ry
ヽ(´ー`)ノ
