【问题标题】:Magento "Please specify the product's option(s)" message remains after completing add to cart after initially clicking "Add to Cart" on category page最初单击类别页面上的“添加到购物车”后,Magento“请指定产品的选项”消息在完成添加到购物车后仍然存在
【发布时间】:2025-12-21 15:45:10
【问题描述】:

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

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

一些想法:

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

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

【问题讨论】:

标签: magento


【解决方案1】:

如果以后有其他人遇到此问题,这里是解决方法。我知道有更好的方法来覆盖核心 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);
  }

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

【讨论】:

    【解决方案2】:

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

    我检查了日志并发现了一种停止操作的产品。问题出在标签 Custom Options 的可配置产品中。我已经删除了那里的所有选项,现在一切正常。

    【讨论】:

      最近更新 更多