/home/sharedstore/.trash/modules/czproductsearch/classes
NameSizeModeActions
CZSearchProductSearchProvider.php42360644editdlrm
index.php12870644editdlrm
ProductSearch.php400600644editdlrm
Edit: /home/sharedstore/.trash/modules/czproductsearch/classes/CZSearchProductSearchProvider.php (4236B)
* @copyright 2007-2018 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ use PrestaShop\PrestaShop\Core\Product\Search\ProductSearchProviderInterface; use PrestaShop\PrestaShop\Core\Product\Search\ProductSearchContext; use PrestaShop\PrestaShop\Core\Product\Search\ProductSearchQuery; use PrestaShop\PrestaShop\Core\Product\Search\ProductSearchResult; use PrestaShop\PrestaShop\Core\Product\Search\SortOrderFactory; use Symfony\Component\Translation\TranslatorInterface; // use Search; // use Tools; if (file_exists(_PS_MODULE_DIR_.'czproductsearch/classes/ProductSearch.php')) { require_once( _PS_MODULE_DIR_.'czproductsearch/classes/ProductSearch.php' ); } // use ProductSearch\ProductSearch; // if (file_exists(_PS_MODULE_DIR_.'czproductsearch/classes/ProductSearch.php')) { // require_once( _PS_MODULE_DIR_.'czproductsearch/classes/ProductSearch.php' ); // } class CzSearchProductSearchProvider implements ProductSearchProviderInterface { private $translator; private $category; private $sortOrderFactory; public function __construct( TranslatorInterface $translator ) { $this->translator = $translator; $this->sortOrderFactory = new SortOrderFactory($this->translator); } public function runQuery( ProductSearchContext $context, ProductSearchQuery $query ) { $products = []; $count = 0; if (($string = $query->getSearchString())) { // $class = new ProductSearch; // echo '
';
			// print_r();die();
            $result = ProductSearch::find(
                $context->getIdLang(),
                Tools::replaceAccentedChars(urldecode($string)),
                $query->getPage(),
                $query->getResultsPerPage(),
                $query->getSortOrder()->toLegacyOrderBy(),
                $query->getSortOrder()->toLegacyOrderWay(),
                false, // ajax, what's the link?
                false, // $use_cookie, ignored anyway
                null,
				$query->getIdCategory()
            );
            $products = $result['result'];
            $count    = $result['total'];
        } elseif (($tag = $query->getSearchTag())) {
			// $class = new ProductSearch;
            $products = ProductSearch::searchTag(
                $context->getIdLang(),
                urldecode($tag),
                false,
                $query->getPage(),
                $query->getResultsPerPage(),
                $query->getSortOrder()->toLegacyOrderBy(true),
                $query->getSortOrder()->toLegacyOrderWay(),
                false,
                null
            );

            $count = ProductSearch::searchTag(
                $context->getIdLang(),
                urldecode($tag),
                true,
                $query->getPage(),
                $query->getResultsPerPage(),
                $query->getSortOrder()->toLegacyOrderBy(true),
                $query->getSortOrder()->toLegacyOrderWay(),
                false,
                null
            );
        }

        $result = new ProductSearchResult();
        $result
            ->setProducts($products)
            ->setTotalProductsCount($count)
        ;

        $result->setAvailableSortOrders(
            $this->sortOrderFactory->getDefaultSortOrders()
        );

        return $result;
    }
}