ubercart购物车“堆叠”

时间:2011-02-01 02:00:19

标签: drupal ubercart

在我的网站上,我使用hook_add_to_cart_data为项添加一些额外的自定义。当添加两个相同的产品但具有不同的$data时,似乎ubercart压缩旧$data并堆叠购物车中的商品,更新$qty而不是添加新商品。< / p>

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

1 个答案:

答案 0 :(得分: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_contents实现中调用uc_cart_add_item函数中的函数hook_add_to_cart_data之前,其他一些模块合并(或清理)这两个产品的这些$数据。