Edit.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Search\Controller\Adminhtml\Term;
  7. use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface;
  8. use Magento\Search\Controller\Adminhtml\Term as TermController;
  9. use Magento\Backend\App\Action\Context;
  10. use Magento\Framework\Registry;
  11. use Magento\Framework\Controller\ResultFactory;
  12. class Edit extends TermController implements HttpGetActionInterface
  13. {
  14. /**
  15. * Core registry
  16. *
  17. * @var \Magento\Framework\Registry
  18. */
  19. protected $coreRegistry;
  20. /**
  21. * @param \Magento\Backend\App\Action\Context $context
  22. * @param \Magento\Framework\Registry $coreRegistry
  23. */
  24. public function __construct(
  25. Context $context,
  26. Registry $coreRegistry
  27. ) {
  28. $this->coreRegistry = $coreRegistry;
  29. parent::__construct($context);
  30. }
  31. /**
  32. * @return \Magento\Framework\Controller\ResultInterface
  33. * @SuppressWarnings(PHPMD.NPathComplexity)
  34. */
  35. public function execute()
  36. {
  37. $id = $this->getRequest()->getParam('id');
  38. $model = $this->_objectManager->create(\Magento\Search\Model\Query::class);
  39. if ($id) {
  40. $model->load($id);
  41. if (!$model->getId()) {
  42. $this->messageManager->addErrorMessage(__('This search no longer exists.'));
  43. /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
  44. $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
  45. $resultRedirect->setPath('search/*');
  46. return $resultRedirect;
  47. }
  48. }
  49. // set entered data if was error when we do save
  50. $data = $this->_objectManager->get(\Magento\Backend\Model\Session::class)->getPageData(true);
  51. if (!empty($data)) {
  52. $model->addData($data);
  53. }
  54. $this->coreRegistry->register('current_catalog_search', $model);
  55. $resultPage = $this->createPage();
  56. $resultPage->getConfig()->getTitle()->prepend(__('Search Terms'));
  57. $resultPage->getConfig()->getTitle()->prepend($id ? $model->getQueryText() : __('New Search'));
  58. $resultPage->getLayout()->getBlock('adminhtml.search.term.edit')
  59. ->setData('action', $this->getUrl('search/term/save'));
  60. $resultPage->addBreadcrumb(
  61. $id ? __('Edit Search') : __('New Search'),
  62. $id ? __('Edit Search') : __('New Search')
  63. );
  64. return $resultPage;
  65. }
  66. }