从magento 2中的观察者重定向

时间:2018-12-12 09:54:11

标签: magento2

我正在研究Magento 2.2.5。我已经创建了事件checkout_cart_product_add_after。因为我需要检查用户何时单击添加到购物车按钮,然后要检查购物车中是否存在特定产品,然后用户无法添加该产品。

因此,如果用户添加该产品,则他应该在同一页面上重定向并显示错误消息。

示例: 如果用户在购物车中添加了产品A。然后,如果他添加产品A1,那么我想重定向到最后一页,并显示错误消息“您不能在购物车中添加A1”。

目前我已经做到了,但是我必须在重定向代码之后添加exitdie()

在没有exitdie()的情况下如何实现这一目标。

代码:

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()。

1 个答案:

答案 0 :(得分:0)

您可以抛出这样的异常:

throw new \Magento\Framework\Exception\LocalizedException(__('Sorry, but seems to be a problem with this product, please try again later.')

然后您无需添加exit()或die()

欢呼