目前我们正在开发 Magento 1.5,我们希望将其升级到最新的 Magento 版本。多次尝试导致“添加到购物车”问题。选择产品并尝试将其添加到购物车时会出现此问题。单击添加到购物车会将您重定向到购物车页面,上面写着:“Kan dit artikel niet toevoegen aan de winkelwagen”,这意味着您不能将此文章添加到购物车。
如何重现它?1)我在不同的服务器/域上安装了与当前实时版本相同的 Magento 版本(1.5.0.1)。2)删除数据库,用live版本的db替换。3) 更改 config_core_data 中的 web/unsecure/base_url 和安全基本 url 4) 测试将产品添加到购物车(此处仍然有效)。5) 将版本更新到最新的 Magento 版本。这是通过 magento connect 和/或 SSH 完成的。在收到这里的建议后,我还在我的文件上安装了 magento 1.8 版本。6)更新后出现上述添加到购物车问题。我没有看到 chrome/firefox 的控制台和 Magento 中出现任何错误。
实施 cookie 生命周期和 noconflict-code 没有任何效果。我还尝试在第 1 步安装不同的版本。你能帮帮我吗?
更新:将 1.5 升级到 1.6 后添加到购物车仍然有效,但在将 1.6 升级到 1.7 后不起作用
经过一些调试,我发现错误是由 app/code/core/Mage/Checkout/Model/cart.php 中的下一个调用引起的:
$this->getQuote()->getShippingAddress()->setCollectShippingRates(true);
在函数中:
public function save()
{
Mage::dispatchEvent('checkout_cart_save_before', array('cart'=>$this));
$this->getQuote()->getBillingAddress();
$this->getQuote()->getShippingAddress()->setCollectShippingRates(true);
$this->getQuote()->collectTotals();
$this->getQuote()->save();
$this->getCheckoutSession()->setQuoteId($this->getQuote()->getId());
/**
* Cart save usually called after changes with cart items.
*/
Mage::dispatchEvent('checkout_cart_save_after', array('cart'=>$this));
return $this;
}
有谁知道我该如何解决这个问题?