1
在我的网站上,我使用hook_add_to_cart_data
为项目添加一些额外的自定义。当添加两个相同的产品,但有不同的$data
时,它看起来像ubercart压缩旧的$data
并堆叠购物车中的项目,更新$qty
而不是添加一个新项目。ubercart cart“stacking”
我该如何告诉ubercart将新物品和旧物品视为购物车中的不同物品,这样它们就不会堆叠起来,我还可以控制这种行为吗?
在我的网站上,我使用hook_add_to_cart_data
为项目添加一些额外的自定义。当添加两个相同的产品,但有不同的$data
时,它看起来像ubercart压缩旧的$data
并堆叠购物车中的项目,更新$qty
而不是添加一个新项目。ubercart cart“stacking”
我该如何告诉ubercart将新物品和旧物品视为购物车中的不同物品,这样它们就不会堆叠起来,我还可以控制这种行为吗?
不,这是不应该,看到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_contents
在uc_cart_add_item
函数中,在hook_add_to_cart_data
实现中。