Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Save.php
Go to the documentation of this file.
1 <?php
8 
13 use Magento\CatalogSearch\Helper\Data as HelperData;
15 
20 {
24  private $storeManager;
25 
31  private $catalogSearchHelper;
32 
36  private $queryFactory;
37 
41  private $resultJsonFactory;
42 
50  public function __construct(
51  Context $context,
52  HelperData $catalogSearchHelper,
53  StoreManagerInterface $storeManager,
54  QueryFactory $queryFactory,
55  JsonFactory $resultJsonFactory
56  ) {
57  parent::__construct($context);
58  $this->storeManager = $storeManager;
59  $this->catalogSearchHelper = $catalogSearchHelper;
60  $this->queryFactory = $queryFactory;
61  $this->resultJsonFactory = $resultJsonFactory;
62  }
63 
69  public function execute()
70  {
71  /* @var $query \Magento\Search\Model\Query */
72  $query = $this->queryFactory->get();
73 
74  $query->setStoreId($this->storeManager->getStore()->getId());
75 
76  if ($query->getQueryText() != '') {
77  try {
78  if ($this->catalogSearchHelper->isMinQueryLength()) {
79  $query->setId(0)->setIsActive(1)->setIsProcessed(1);
80  } else {
81  $query->saveIncrementalPopularity();
82  }
83  $responseContent = ['success' => true, 'error_message' => ''];
84  } catch (\Magento\Framework\Exception\LocalizedException $e) {
85  $responseContent = ['success' => false, 'error_message' => $e];
86  }
87  } else {
88  $responseContent = ['success' => false, 'error_message' => __('Search term is empty')];
89  }
90 
92  $resultJson = $this->resultJsonFactory->create();
93  return $resultJson->setData($responseContent);
94  }
95 }
__construct(Context $context, HelperData $catalogSearchHelper, StoreManagerInterface $storeManager, QueryFactory $queryFactory, JsonFactory $resultJsonFactory)
Definition: Save.php:50
$storeManager
__()
Definition: __.php:13