/** * {@inheritdoc} */ public function handle(CriteriaPartInterface $criteriaPart, Criteria $criteria, Search $search, ShopContextInterface $context) { /** @var CustomerGroupCondition $criteriaPart */ $filter = new NotFilter(new TermsFilter('blockedCustomerGroupIds', $criteriaPart->getCustomerGroupIds())); if ($criteria->hasBaseCondition($criteriaPart->getName())) { $search->addFilter($filter); } else { $search->addPostFilter($filter); } }