2011-02-01 55 views
1

在我的网站上,我使用hook_add_to_cart_data为项目添加一些额外的自定义。当添加两个相同的产品,但有不同的$data时,它看起来像ubercart压缩旧的$data并堆叠购物车中的项目,更新$qty而不是添加一个新项目。ubercart cart“stacking”

我该如何告诉ubercart将新物品和旧物品视为购物车中的不同物品,这样它们就不会堆叠起来,我还可以控制这种行为吗?

回答

1

不,这是不应该,看到uc_cart.module uc_cart_get_contents功能,列#1358:

for ($i = 0; $i < count($items[$cid]); $i++) { 
    if ($items[$cid][$i]->nid == $item->nid && $items[$cid][$i]->data == $item->data) { 
     $items[$cid][$i]->qty += $item->qty; 
     continue 2; 
    } 
    } 

一个原因的:一些其他模块合并(或干净的),这些数据$两种产品,前调用函数uc_cart_get_contentsuc_cart_add_item函数中,在hook_add_to_cart_data实现中。