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
實現中。