Codeigniter购物车 - 多次添加商品不会增加数量

时间:2012-12-08 11:23:31

标签: codeigniter cart

我试图多次将某个项目添加到购物车,但添加的项目doe不会出现在购物车中(如果已经在其中)。

在CI购物车中这是正常的,还是我搞砸了什么?

如何解决这个问题?

我希望多次添加相同的商品,以便更改第二件(特价商品)的价格。

我的cart_add函数在codeigniter手册中看起来像是示例,我认为不需要包含代码。

我在购物车类代码中发现,购物车行标识符($rowid)是从idoptions生成的md5校验和。我暂时向options数组添加了这样的内容:

'options' => array('rid' => mt_rand(), ...)

但有更好的方法吗?我觉得我做错了。

1 个答案:

答案 0 :(得分:2)

据我所知,您不能多次直接添加/更新购物车以增加购物量。您需要通过对购物车内容进行循环来更新购物车。这是因为CI将始终在插入的产品/项目上创建唯一的row_id。 The reason a unique ID is created is so that identical products with different options can be managed by the cart。为了更清楚,您可以参考此 article

您可以在此处更新购物车项目:

foreach($this->cart->contents() as $item){
    if($item['id'] == 'your_product_id'){
        $item['qty'] = 3;
        $this->cart->update($item);
    }
}