/** * Assign price range-based search condition * * @param \Doctrine\ORM\QueryBuilder $queryBuilder Query builder * @param float $min Minimum * @param float $max Maximum * * @return void */ protected function assignPriceRangeCondition(\Doctrine\ORM\QueryBuilder $queryBuilder, $min, $max) { if (\XLite::isAdminZone()) { parent::assignPriceRangeCondition($queryBuilder, $min, $max); } else { $queryBuilder->leftJoin('p.classes', 'classes', 'WITH'); $cnd = \XLite\Module\CDev\VAT\Logic\Product\Tax::getInstance()->getSearchPriceCondition('p.price', 'classes'); if (isset($min)) { $queryBuilder->andWhere($cnd . ' > :minPrice')->setParameter('minPrice', doubleval($min)); } if (isset($max)) { $queryBuilder->andWhere($cnd . ' < :maxPrice')->setParameter('maxPrice', doubleval($max)); } } }