将产品存储在与zend的会话中

时间:2014-01-08 19:21:56

标签: php session zend-framework namespaces

如何使用zend在会话中添加产品?我收到产品作为数组

我试试这个,但不工作

以及你如何在另一个行动中采取这个会议......

很多

 public function incartAction(){
     $this->_helper->_layout->disableLayout();        
    $id = $this->_getParam("id");
    $name= $this->_getParam("name");
    $price= $this->getParam("price");
    $img = $this->_getParam("img");
    $qty = $this->_getParam("qty");

    $produs = array(
      "id"=>$id,
      "name"=>$name,
      "price"=>$price,
      "img"=>$img,
      "qty"=>$qty
    );        
    $produs_model = new Application_Model_DbTable_Produs;
    $produs_model->updateProdusById($id, $qty);

    $cart = new Zend_Session_Namespace("products");
    $cart->products->$name= $product;

    $this->view->assign("cart", $cart);        
}

1 个答案:

答案 0 :(得分:1)

你做错了,你的变量名也有错误,

以下是如何做到的,

首先在某个控制器中定义它,

public function incartAction(){
    $product = array(
             "id"=>$id,
             "name"=>$name,
             "price"=>$price,
             "img"=>$img,
             "qty"=>$qty
            );  


//add it to session variable [in same controller]

     $cart = new Zend_Session_Namespace("products");
     $cart->product= $product;
}

现在在另一个控制器中使用它,

public function outcartAction(){
     $cart = new Zend_Session_Namespace("products");
     $product= $cart->product;
     print_r($product);
}