我寫了一個買一個免費的Magento模塊,它在Magento 1.3.x中完美地工作。添加免費產品到Magento中的免費產品的問題
它擴展了「Mage_Checkout_CartController
」以在符合條件邏輯時將免費(簡單)產品添加到購物車。我已經修改了「indexAction()
」功能擴展「CartController.php
」,並增加額外的代碼和邏輯然而,添加使用
$cart->addProduct($FREPRODUCTID, 1);
$cart->save();
$this->_getSession()->setCartWasUpdated(true);
這工作正常,在Magento的1.3.x(CE)基本上都添加了免費的項目在1.4和1.5中,我所看到的是將免費商品添加到購物車中,但購物車總額不會更新以包含我的代碼添加的產品,並且在結帳時不會看到該產品。儘管該產品是免費的,但配置了零價格,但我還注意到,當我給產品一個價格,即1美元時,產品仍然以零價格出現在購物車中,好像它沒有被識別。免費的產品配置正確,並且可以銷售,有現貨等。
對於爲什麼我的產品被添加到購物車,但不知何故在Magento 1.4/1.5系統中沒有被正確看到的任何建議?
由於
PAJ
謝謝,我正在使用 $ product = Mage :: getModel('catalog/product') - > load($ FREEPRODUCT); and $ cart = $ this - > _ getCart(); 隨着你的建議,結果是完全一樣的。產品在購物車中,但似乎沒有被識別,即如果購物車中有5種產品,並且免費產品已添加,購物車總數仍顯示爲5.有趣的是,如果我點擊購物車中的免費產品以查看它,然後回到購物車,產品被識別,並且購物車總數是正確的。刪除產品,並將其重新添加並且不會再被識別... – paj
好的,如果我現在手動更新購物車,產品看起來像是我的購物車保存/更新不正確? – paj
@paj - 你可以請檢查編輯後的答案,然後再試一次,因爲我更新了調用「'addProduct()'」方法的語句嗎?我會建議你先試試這個更新的解決方案。 –