![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/app/code/Mageplaza/AjaxLayer/Controller/Search/Result/ |
<?php /** * Mageplaza * * NOTICE OF LICENSE * * This source file is subject to the Mageplaza.com license that is * available through the world-wide-web at this URL: * https://www.mageplaza.com/LICENSE.txt * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade this extension to newer * version in the future. * * @category Mageplaza * @package Mageplaza_AjaxLayer * @copyright Copyright (c) Mageplaza (http://www.mageplaza.com/) * @license https://www.mageplaza.com/LICENSE.txt */ namespace Mageplaza\AjaxLayer\Controller\Search\Result; use Magento\Catalog\Model\Layer\Resolver; use Magento\Catalog\Model\Session; use Magento\CatalogSearch\Helper\Data; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\App\ResponseInterface; use Magento\Framework\Controller\ResultInterface; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Json\Helper\Data as JsonData; use Magento\Search\Model\Query; use Magento\Search\Model\QueryFactory; use Magento\Store\Model\StoreManagerInterface; use Mageplaza\AjaxLayer\Helper\Data as HelperData; /** * Class Index * @package Mageplaza\LayeredNavigation\Controller\Search\Result */ class Index extends Action { /** * Catalog session * * @var Session */ protected $_catalogSession; /** * @var StoreManagerInterface */ protected $_storeManager; /** * @type JsonData */ protected $_jsonHelper; /** * @var HelperData */ protected $_moduleHelper; /** * @type Data */ protected $_helper; /** * @var QueryFactory */ private $_queryFactory; /** * Catalog Layer Resolver * * @var Resolver */ private $layerResolver; /** * Index constructor. * * @param Context $context * @param Session $catalogSession * @param StoreManagerInterface $storeManager * @param QueryFactory $queryFactory * @param Resolver $layerResolver * @param Data $helper * @param JsonData $jsonHelper * @param HelperData $moduleHelper */ public function __construct( Context $context, Session $catalogSession, StoreManagerInterface $storeManager, QueryFactory $queryFactory, Resolver $layerResolver, Data $helper, JsonData $jsonHelper, HelperData $moduleHelper ) { $this->_storeManager = $storeManager; $this->_catalogSession = $catalogSession; $this->_queryFactory = $queryFactory; $this->layerResolver = $layerResolver; $this->_jsonHelper = $jsonHelper; $this->_moduleHelper = $moduleHelper; $this->_helper = $helper; parent::__construct($context); } /** * @return ResponseInterface|ResultInterface|void * @throws LocalizedException */ public function execute() { $this->layerResolver->create(Resolver::CATALOG_LAYER_SEARCH); /* @var $query Query */ $query = $this->_queryFactory->get(); $query->setStoreId($this->_storeManager->getStore()->getId()); if ($query->getQueryText() !== '') { if ($this->_helper->isMinQueryLength()) { $query->setId(0)->setIsActive(1)->setIsProcessed(1); } else { $query->saveIncrementalPopularity(); if ($query->getRedirect()) { $this->getResponse()->setRedirect($query->getRedirect()); return; } } $this->_helper->checkNotes(); $this->_view->loadLayout(); if ($this->_moduleHelper->ajaxEnabled() && $this->getRequest()->isAjax()) { $navigation = $this->_view->getLayout()->getBlock('catalogsearch.leftnav'); $products = $this->_view->getLayout()->getBlock('search.result'); $result = [ 'products' => $products->toHtml(), 'navigation' => $navigation->toHtml() ]; $this->getResponse()->representJson($this->_jsonHelper->jsonEncode($result)); } else { $this->_view->renderLayout(); } } else { $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl()); } } }