25 $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
26 if (!$this->formKeyValidator->validate($this->getRequest())) {
27 $resultRedirect->setUrl($this->
_redirect->getRefererUrl());
28 return $resultRedirect;
31 $data = $this->reviewSession->getFormData(
true);
34 if (isset(
$data[
'ratings']) && is_array(
$data[
'ratings'])) {
43 $review = $this->reviewFactory->create()->setData(
$data);
44 $review->unsetData(
'review_id');
46 $validate =
$review->validate();
47 if ($validate ===
true) {
50 ->setEntityPkValue(
$product->getId())
52 ->setCustomerId($this->customerSession->getCustomerId())
53 ->setStoreId($this->storeManager->getStore()->getId())
54 ->setStores([$this->storeManager->getStore()->getId()])
58 $this->ratingFactory->create()
59 ->setRatingId($ratingId)
61 ->setCustomerId($this->customerSession->getCustomerId())
66 $this->messageManager->addSuccess(
__(
'You submitted your review for moderation.'));
67 }
catch (\Exception $e) {
68 $this->reviewSession->setFormData(
$data);
69 $this->messageManager->addError(
__(
'We can\'t post your review right now.'));
72 $this->reviewSession->setFormData(
$data);
73 if (is_array($validate)) {
74 foreach ($validate as $errorMessage) {
75 $this->messageManager->addError($errorMessage);
78 $this->messageManager->addError(
__(
'We can\'t post your review right now.'));
82 $redirectUrl = $this->reviewSession->getRedirectUrl(
true);
83 $resultRedirect->setUrl($redirectUrl ?: $this->
_redirect->getRedirectUrl());
84 return $resultRedirect;
_redirect($path, $arguments=[])
const ENTITY_PRODUCT_CODE