Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * Synonyms grid
  *
  * @return \Magento\Backend\Model\View\Result\Page
  */
 public function execute()
 {
     $resultPage = $this->pageBuilder->build();
     $resultPage->getConfig()->getTitle()->prepend(__('Search Synonyms'));
     return $resultPage;
 }