将商品添加到单个产品页面Magento 2后,如何重定向到结帐页面?

时间:2018-08-08 13:33:33

标签: magento2.2

我想将用户重定向到“将产品添加到购物车”中的结帐页面,请帮助。

1 个答案:

答案 0 :(得分:1)

@alexeyboltynov首先,您需要从magento 2管理员启用跳过购物车选项。您可以在主题设置中轻松找到该选项。

并且您必须覆盖核心文件路径: “供应商\ magento \模块结帐\ Controller \ Cart \ Add.php”

查找代码:

if (!$this->_checkoutSession->getNoCartRedirect(true)) {
    if (!$this->cart->getQuote()->getHasError()) {
        if ($this->shouldRedirectToCart()) {
            $message = __(
                'You added %1 to your shopping cart.',
                     $product->getName()
                );
                    $this->messageManager->addSuccessMessage($message);
        } else {
                        $this->messageManager->addComplexSuccessMessage(
                            'addCartSuccessMessage',
                            [
                                'product_name' => $product->getName(),
                                'cart_url' => $this->getCartUrl(),
                            ]
                        );
                    }
                }
                return $this->goBack(null, $product);
            }

替换为:

if (!$this->_checkoutSession->getNoCartRedirect(true)) {
           return $this->resultRedirectFactory->create()->setPath('checkout', ['_current' => true]);
            }

将产品添加到购物车后,这会将用户重定向到结帐页面。并将成功移除添加到购物车消息中。

注意:请为此创建一个自定义模块,以免覆盖核心文件。希望您知道如何创建自己的模块。