/** * Edit Synonym Group * * @return \Magento\Framework\Controller\ResultInterface * @SuppressWarnings(PHPMD.NPathComplexity) */ public function execute() { // 1. Get ID and create model $groupId = $this->getRequest()->getParam('group_id'); /** @var \Magento\Search\Api\Data\SynonymGroupInterface $synGroup */ $synGroup = $this->synGroupRepository->get($groupId); // 2. Initial checking if ($groupId && !$synGroup->getGroupId()) { $this->messageManager->addError(__('This synonyms group no longer exists.')); /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); return $resultRedirect->setPath('*/*/'); } // 3. Set entered data if was error when we do save $data = $this->_session->getFormData(true); if (!empty($data)) { $synGroup->setGroupId($data['group_id']); $synGroup->setStoreId($data['store_id']); $synGroup->setWebsiteId($data['website_id']); $synGroup->setSynonymGroup($data['synonyms']); } // 4. Register model to use later in save $this->registry->register(\Magento\Search\Controller\RegistryConstants::SEARCH_SYNONYMS, $synGroup); // 5. Build edit synonyms group form $resultPage = $this->pageBuilder->build(); $resultPage->addBreadcrumb($groupId ? __('Edit Synonym Group') : __('New Synonym Group'), $groupId ? __('Edit Synonym Group') : __('New Synonym Group')); $resultPage->getConfig()->getTitle()->prepend(__('Synonym Group')); $resultPage->getConfig()->getTitle()->prepend($synGroup->getGroupId() ? $synGroup->getSynonymGroup() : __('New Synonym Group')); return $resultPage; }
/** * Synonyms grid * * @return \Magento\Backend\Model\View\Result\Page */ public function execute() { $resultPage = $this->pageBuilder->build(); $resultPage->getConfig()->getTitle()->prepend(__('Search Synonyms')); return $resultPage; }