1

我试图将某些商品多次添加到购物车,但添加的商品不会出现在购物车中,如果它已经在其中的话。

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

如何解决这个问题?

我想多次添加相同的项目,以更改第二件的价格(特价)。

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

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

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

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

4

1 回答 1

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. 更清楚的可以参考这篇文章

您可以在此处更新您的购物车商品:

foreach($this->cart->contents() as $item){
    if($item['id'] == 'your_product_id'){
        $item['qty'] = 3;
        $this->cart->update($item);
    }
}
于 2012-12-08T13:10:44.770 回答