public function handleRequest(Request $request, Criteria $criteria, ShopContextInterface $context) { $minSales = $request->getParam('minSales', null); $maxSales = $request->getParam('maxSales', null); if ($minSales || $maxSales) { $criteria->addCondition(new SalesCondition($minSales, $maxSales)); } $criteria->addFacet(new SalesFacet()); if ($request->getParams('sSort') == 'sales') { $criteria->resetSorting(); $criteria->addSorting(new SalesSorting()); } }
/** * @inheritdoc */ public function handleRequest(Request $request, Criteria $criteria, ShopContextInterface $context) { /* * Checks if the filter is active */ if ($request->has('productAttributesForm')) { $params = $request->getParams(); $searchParams = explode('|', $params['productAttributesForm']); $criteria->addCondition(new ProductAttributeCondition('attr1', ProductAttributeCondition::OPERATOR_IN, $searchParams)); } /** * adds the attributes facet */ $criteria->addFacet(new ProductAttributeFacet('attr1', ProductAttributeFacet::MODE_VALUE_LIST_RESULT, 'productAttributesForm', 'attributes')); }
/** * @param $categoryId * @param Enlight_Controller_Request_RequestHttp $request * @return string */ private function buildCategoryLink($categoryId, Enlight_Controller_Request_RequestHttp $request) { $params = $this->queryAliasMapper->replaceLongParams($request->getParams()); unset($params['ordernumber']); unset($params['categoryId']); unset($params['module']); unset($params['controller']); unset($params['action']); $params = array_merge($params, ['sViewport' => 'cat', 'sCategory' => $categoryId]); $queryPrams = http_build_query($params, null, '&'); $listingLink = $this->config->get('sBASEFILE') . "?" . $queryPrams; return $listingLink; }