Magento“请指定产品的选项”消息在完成添加到购物车后,在最初点击类别页面上的“添加到购物车”后仍然存在

时间:2014-01-05 19:06:52

标签: magento

顺序是客户在类别页面上单击“添加到购物车”按钮以获取可配置产品。正如预期的那样,客户被带到产品页面,并显示“请指定产品选项”的通知消息。都好。问题是,一旦选择了选项并且客户点击了产品页面上的“添加到购物车”,就会重新显示“请指定产品的选项”消息以及表明产品已成功添加到产品的消息大车。让顾客感到困惑,他们必须进入购物车才能确保他们成功添加。

我只发现了另一个论坛帖子(http://www.magentocommerce.com/boards/viewthread/298926/)中描述的问题,但没有答案。

一些想法:

  • 我将“添加产品重定向到购物车后”配置设置为设置为“否”的网站。真的不希望客户像这样来回购物车 - 对购物来说过于中断。
  • 这似乎与URL有关,当客户第一次进入产品页面(正确行为)时以及在成功将产品添加到购物车后重新加载页面后附加“?options = cart”变量(看似不正确)行为)。
  • 我已经考虑过调整代码以在产品页面上点击添加到购物车后删除URL的“?options = cart”部分,但我想我会检查互联网并查看是否可以避免那工作。好像我错过了一些简单的东西(或者我偶然发现了一个错误)。

不是一个大问题,但最终用户肯定会感到困惑。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果其他人在将来遇到这个问题,这是修复。我知道有一种更好的方法来覆盖核心Magento php文件,但快速而又脏的方法是改变app / code / core / Mage / Checkout / controllers / CartController.php中的_goBack()函数。这大约从第74行开始。

从......更改以下内容

elseif (!Mage::getStoreConfig('checkout/cart/redirect_to_cart')
    && !$this->getRequest()->getParam('in_cart')
    && $backUrl = $this->_getRefererUrl()
) {
       $this->getResponse()->setRedirect($backUrl);
  }

...到...

elseif (!Mage::getStoreConfig('checkout/cart/redirect_to_cart')
    && !$this->getRequest()->getParam('in_cart')
    && $backUrl = $this->_getRefererUrl()
) {
    if (strstr($backUrl,'?options=cart')) $backUrl = str_replace('?options=cart', '', $backUrl);            
    $this->getResponse()->setRedirect($backUrl);
  }

为什么在地球上这不是默认功能超出我的范围。

答案 1 :(得分:0)

今天遇到同样的问题。由于“请指定产品的选项”,我无法编辑订单。消息。

我检查了日志,发现了一个停止操作的产品。问题出在可配置产品的标签自定义选项中。我删除了那里的所有选项,现在一切正常。