我对会话很新...如何添加项目?我的商品确实已添加,但它会继续用另一个具有相同数量的商品替换现有商品。
所以我添加项目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 :(得分:0)
你可能会发现你正在覆盖那里的会话。
也许
Yii::app()->session['cart']['item'];
答案 1 :(得分:0)
试试这个:
Yii::app()->session['carts'][] =
array(
"product_id" => $id,
"quantity" => $quantity
);
每次都会在会话中附加一个新产品,而不是覆盖它。您可以使用以下方式访问项目:
foreach (Yii->app()->session['carts'] as $item) {
...
}