我正在研究Magento 2.2.5。我已经创建了事件checkout_cart_product_add_after
。因为我需要检查用户何时单击添加到购物车按钮,然后要检查购物车中是否存在特定产品,然后用户无法添加该产品。
因此,如果用户添加该产品,则他应该在同一页面上重定向并显示错误消息。
示例: 如果用户在购物车中添加了产品A。然后,如果他添加产品A1,那么我想重定向到最后一页,并显示错误消息“您不能在购物车中添加A1”。
目前我已经做到了,但是我必须在重定向代码之后添加exit
或die()
。
在没有exit
或die()
的情况下如何实现这一目标。
代码:
if ($condition) {
$this->messageManager->addError(__("Error Message", $var));
$this->_responseFactory->create()->setRedirect($url)->sendResponse();
die();
}
if ($condition) {
$this->messageManager->addError(__("Another Error message"));
$this->_responseFactory->create()->setRedirect($url)->sendResponse();
die();
}
在这里我必须添加die()。
答案 0 :(得分:0)
您可以抛出这样的异常:
throw new \Magento\Framework\Exception\LocalizedException(__('Sorry, but seems to be a problem with this product, please try again later.')
然后您无需添加exit()或die()
欢呼