2014-02-09 106 views
0

我很新會議......我如何添加項目?我的商品確實已添加,但它不斷用另一個具有相同數量的商品替換我現有的商品。將項目添加到會話中

所以我添加項目A數量3,然後添加項目B數量1.它顯示,項目B數量3.項目A消失。

我:

$addItem = array(
    "product_id" => $id, 
    "quantity" => $quantity, 
    ); 
    Yii::app()->session['cart']= $addItem; 

然後我也跟着this,似乎並沒有被添加任何?:

public function actionBasket($id) 
    { 
     $session=new CHttpSession; 
     $session->open(); 

     $quantity = 1; 

     if (!isset(Yii::app()->session['carts'])) { 
       Yii::app()->session['carts'] = 
       array(
       "product_id" => $id, 
       "quantity" => $quantity); 
      } 
      else 
      { 
       $products = Yii::app()->session['carts']; 
       $products[] = array(
         "product_id" => $id, 
         "quantity" => $quantity); 
       Yii::app()->session['carts'] = $products; 
      } 

回答

0

你可能會發現你有覆蓋會話。

也許

Yii::app()->session['cart']['item']; 
+0

不認爲我有它正確的,但我得到一個空數組 – JamAndJammies

0

試試這個:

Yii::app()->session['carts'][] = 
    array(
     "product_id" => $id, 
     "quantity" => $quantity 
    ); 

這將每一次新產品追加到會話而不是覆蓋它。您可以使用獲得的物品:

foreach (Yii->app()->session['carts'] as $item) { 
    ... 
} 
+0

我得到一個錯誤「CDbHttpSession重載元素的間接修改沒有影響」 – JamAndJammies