在我的网站上,我使用hook_add_to_cart_data为项目添加一些额外的定制。当添加了两个相同的产品,但具有不同的$data时,似乎ubercart挤压了旧的$data并将商品堆叠在购物车中,更新$qty而不是添加新的商品。
我如何告诉ubercart将新旧物品视为购物车中的不同物品,这样它们就不会堆叠在一起,我还能控制这种行为吗?
发布于 2011-02-01 10:12:48
不,不应该,参见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;
}
}其中一个原因是:在hook_add_to_cart_data实现中调用uc_cart_add_item函数中的函数uc_cart_get_contents之前,一些其他模块会为两个产品合并(或清除)这些$data。
https://stackoverflow.com/questions/4858144
复制相似问题