public function handle(CriteriaPartInterface $criteriaPart, Criteria $criteria, Search $search, ShopContextInterface $context) { $range = []; /** @var SalesCondition $criteriaPart */ if ($criteriaPart->getMin() > 0) { $range['gte'] = (int) $criteriaPart->getMin(); } if ($criteriaPart->getMax() > 0) { $range['lte'] = (int) $criteriaPart->getMax(); } $filter = new RangeFilter('sales', $range); if ($criteria->hasBaseCondition($criteriaPart->getName())) { $search->addFilter($filter); } else { $search->addPostFilter($filter); } }