coreRegistry = $coreRegistry; parent::__construct($context); } /** * @return \Magento\Framework\Controller\ResultInterface * @SuppressWarnings(PHPMD.NPathComplexity) */ public function execute() { $id = $this->getRequest()->getParam('id'); $model = $this->_objectManager->create(\Magento\Search\Model\Query::class); if ($id) { $model->load($id); if (!$model->getId()) { $this->messageManager->addErrorMessage(__('This search no longer exists.')); /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath('search/*'); return $resultRedirect; } } // set entered data if was error when we do save $data = $this->_objectManager->get(\Magento\Backend\Model\Session::class)->getPageData(true); if (!empty($data)) { $model->addData($data); } $this->coreRegistry->register('current_catalog_search', $model); $resultPage = $this->createPage(); $resultPage->getConfig()->getTitle()->prepend(__('Search Terms')); $resultPage->getConfig()->getTitle()->prepend($id ? $model->getQueryText() : __('New Search')); $resultPage->getLayout()->getBlock('adminhtml.search.term.edit') ->setData('action', $this->getUrl('search/term/save')); $resultPage->addBreadcrumb( $id ? __('Edit Search') : __('New Search'), $id ? __('Edit Search') : __('New Search') ); return $resultPage; } }