Magento "Please specify the product's option(s)"在最初单击类别页面上的"Add to Cart"后完成添加到购物车后,消息仍然存在



顺序是客户在类别页面上单击可配置产品的"添加到购物车"按钮。不出所料,客户会被带到产品页面,并收到"请指定产品选项"的通知消息。一切正常。问题是,一旦选择了选项,客户单击产品页面上的"添加到购物车","请指定产品的选项"消息将重新出现,同时还会显示一条消息,指示产品已成功添加到购物篮。让客户感到困惑的是,他们必须进入购物车才能确保成功添加。

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

一些想法:

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

这不是一个大问题,但对最终用户来说肯定很困惑。有什么想法吗?

如果将来有其他人遇到这个问题,下面是解决方法。我知道有一种更好的方法来覆盖核心Magento-php文件,但快速而肮脏的方法是更改app/code/core/Mage/Checkout/controller/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);
}

为什么在地球上这不是默认功能是我无法理解的。

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

我检查了日志,发现一个产品停止了操作。自定义选项选项卡上的可配置产品出现问题。我已经删除了那里的所有选项,现在一切都好了。

相关内容

最新更新