Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Save.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface;
11 
13 {
19  public function execute()
20  {
21  $this->initEntityId();
23  $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
24  if ($this->getRequest()->getPostValue()) {
25  try {
27  $ratingModel = $this->_objectManager->create(\Magento\Review\Model\Rating::class);
28  $stores = $this->getRequest()->getParam('stores');
29  $position = (int)$this->getRequest()->getParam('position');
30  $stores[] = 0;
31  $isActive = (bool)$this->getRequest()->getParam('is_active');
32 
33  $ratingModel->setRatingCode($this->getRequest()->getParam('rating_code'))
34  ->setRatingCodes($this->getRequest()->getParam('rating_codes'))
35  ->setStores($stores)
36  ->setPosition($position)
37  ->setId($this->getRequest()->getParam('id'))
38  ->setIsActive($isActive)
39  ->setEntityId($this->coreRegistry->registry('entityId'))
40  ->save();
41 
42  $options = $this->getRequest()->getParam('option_title');
43 
44  if (is_array($options)) {
45  $i = 1;
46  foreach ($options as $key => $optionCode) {
47  $optionModel = $this->_objectManager->create(\Magento\Review\Model\Rating\Option::class);
48  if (!preg_match("/^add_([0-9]*?)$/", $key)) {
49  $optionModel->setId($key);
50  }
51 
52  $optionModel->setCode($optionCode)
53  ->setValue($i)
54  ->setRatingId($ratingModel->getId())
55  ->setPosition($i)
56  ->save();
57  $i++;
58  }
59  }
60 
61  $this->messageManager->addSuccess(__('You saved the rating.'));
62  $this->_objectManager->get(\Magento\Backend\Model\Session::class)->setRatingData(false);
63  } catch (\Exception $e) {
64  $this->messageManager->addError($e->getMessage());
65  $this->_objectManager->get(\Magento\Backend\Model\Session::class)
66  ->setRatingData($this->getRequest()->getPostValue());
67  $resultRedirect->setPath('review/rating/edit', ['id' => $this->getRequest()->getParam('id')]);
68  return $resultRedirect;
69  }
70  }
71  $resultRedirect->setPath('review/rating/');
72  return $resultRedirect;
73  }
74 }
__()
Definition: __.php:13
$i
Definition: gallery.phtml:31