2012-06-22 67 views

回答

6

所以這是我的解決方案,對系統/庫/ Cart.php在線號碼的更改。 233至244

可能有更好的方法來做到這一點,但它的確有用。我不明白爲什麼功能不存在

// EDIT: added check if idential rowid/item already in cart, then just increase qty 
    //   without this addition, it would not increase qty but simply replace the item 
    if (array_key_exists($rowid, $this->_cart_contents)) 
    { 
     $this->_cart_contents[$rowid]['qty'] += $items['qty'];  
    } 
    else 
    { 
     // let's unset this first, just to make sure our index contains only the data from this submission 
     unset($this->_cart_contents[$rowid]);  

     // Create a new index with our new row ID 
     $this->_cart_contents[$rowid]['rowid'] = $rowid; 

     // And add the new items to the cart array 
     foreach ($items as $key => $val) 
     { 
      $this->_cart_contents[$rowid][$key] = $val; 
     }      
    }  
2

這不是一個錯誤。以這種方式來看待:你告訴CI你想在購物車中購買1個productX。如果它已經存在,它就會保持這種狀態。 rowid確實得到更新。

編輯核心庫是不是一個好主意。這使得您的應用程序依賴於您所做的更改,並且在您更新配置項時忘記更改內核時它可能會破壞它。

如果你真的希望能夠增加qty每次用戶點擊Add,然後 我建議是做類似於你做了什麼事,但你model。 檢查產品是否已在購物車中,獲取qty並將現有的qty添加到新產品中。 這有道理嗎?

相關問題