【问题标题】:Magento shopping cart: does not work when upgradingMagento购物车:升级时不起作用
【发布时间】:2013-11-14 13:06:14
【问题描述】:

目前我们正在开发 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;
}

有人知道我该如何解决这个问题吗?

【问题讨论】:

  • 您好,尝试重新索引所有数据库数据。清除 magento/var 文件夹。

标签: php magento upgrade cart


【解决方案1】:

您应该执行以下操作。我的帮手。

  1. 清除缓存
  2. 重新索引所有内容
  3. 添加 cookie 生命周期
  4. 设置 Cookie - 仅使用 HTTP 为否
  5. 检查所有文件夹权限是否相同

如果所有这些都无济于事,请考虑调试 AddToCart 控制器。

希望至少有一点帮助。

【讨论】:

  • 感谢您的回复,我已经尝试了所有 5 个步骤,但都没有成功。我不知道从哪里开始调试 addToCart 控制器
  • /app/code/core/Mage/Checkout/controllers/CartController.php:addAction()以相反的顺序尝试所有步骤:)
  • 我更新了主题,你觉得这个功能更有意义吗?
【解决方案2】:

有一个名为:Amasty_Xcoupon 的扩展,关闭它以使其正常工作。在 XML 文件中打开它,而不是在后端

【讨论】:

    【解决方案3】:

    表单密钥对于在 magento 中将产品添加到购物车至关重要。 在模板的 catalog/product/view.phtml 中的 form 标记之后添加此代码:

    <?php echo $this->getBlockHtml('formkey') ?>
    

    【讨论】:

      猜你喜欢
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多