Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Edit.php
Go to the documentation of this file.
1 <?php
8 
10 {
16  const ADMIN_RESOURCE = 'Magento_Search::synonyms';
17 
21  private $registry;
22 
26  private $pageBuilder;
27 
31  private $synGroupRepository;
32 
41  public function __construct(
42  \Magento\Backend\App\Action\Context $context,
43  \Magento\Framework\Registry $registry,
44  \Magento\Search\Controller\Adminhtml\Synonyms\ResultPageBuilder $pageBuilder,
45  \Magento\Search\Api\SynonymGroupRepositoryInterface $synGroupRepository
46  ) {
47  $this->registry = $registry;
48  $this->synGroupRepository = $synGroupRepository;
49  $this->pageBuilder = $pageBuilder;
50  parent::__construct($context);
51  }
52 
59  public function execute()
60  {
61  // 1. Get ID and create model
62  $groupId = $this->getRequest()->getParam('group_id');
64  $synGroup = $this->synGroupRepository->get($groupId);
65 
66  // 2. Initial checking
67  if ($groupId && (!$synGroup->getGroupId())) {
68  $this->messageManager->addErrorMessage(__('This synonyms group no longer exists.'));
70  $resultRedirect = $this->resultRedirectFactory->create();
71  return $resultRedirect->setPath('*/*/');
72  }
73 
74  // 3. Set entered data if was error when we do save
75  $data = $this->_session->getFormData(true);
76  if (!empty($data)) {
77  $synGroup->setGroupId($data['group_id']);
78  $synGroup->setStoreId($data['store_id']);
79  $synGroup->setWebsiteId($data['website_id']);
80  $synGroup->setSynonymGroup($data['synonyms']);
81  }
82 
83  // 4. Register model to use later in save
84  $this->registry->register(
86  $synGroup
87  );
88 
89  // 5. Build edit synonyms group form
90  $resultPage = $this->pageBuilder->build();
91  $resultPage->addBreadcrumb(
92  $groupId ? __('Edit Synonym Group') : __('New Synonym Group'),
93  $groupId ? __('Edit Synonym Group') : __('New Synonym Group')
94  );
95  $resultPage->getConfig()->getTitle()->prepend(__('Synonym Group'));
96  $resultPage->getConfig()->getTitle()->prepend(
97  $synGroup->getGroupId() ? $synGroup->getSynonymGroup() : __('New Synonym Group')
98  );
99  return $resultPage;
100  }
101 }
__()
Definition: __.php:13
__construct(\Magento\Backend\App\Action\Context $context, \Magento\Framework\Registry $registry, \Magento\Search\Controller\Adminhtml\Synonyms\ResultPageBuilder $pageBuilder, \Magento\Search\Api\SynonymGroupRepositoryInterface $synGroupRepository)
Definition: Edit.php:41