public function testUniqueFacet() { $criteria = new Criteria(); $criteria->addFacet(new PriceFacet()); $criteria->addFacet(new PriceFacet()); $this->assertCount(1, $criteria->getFacets()); }
/** * @param SearchBundle\Criteria $criteria * @param ShopContextInterface $context * @return SearchBundle\FacetResultInterface[] * @throws \Exception */ private function createFacets(SearchBundle\Criteria $criteria, ShopContextInterface $context) { $facets = []; foreach ($criteria->getFacets() as $facet) { $handler = $this->getFacetHandler($facet); $result = $handler->generateFacet($facet, $criteria, $context); if (!$result) { continue; } if (!is_array($result)) { $result = [$result]; } $facets = array_merge($facets, $result); } return $facets; }