我想将用户重定向到“将产品添加到购物车”中的结帐页面,请帮助。
答案 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]);
}
将产品添加到购物车后,这会将用户重定向到结帐页面。并将成功移除添加到购物车消息中。
注意:请为此创建一个自定义模块,以免覆盖核心文件。希望您知道如何创建自己的模块。