/** * Renders an array of facets. * * @param array $facets * * @return string the HTML of the facets */ protected function renderFacets(ProductSearchResult $result) { $facetCollection = $result->getFacetCollection(); // not all search providers generate menus if (empty($facetCollection)) { return ''; } $facetsVar = array_map(array($this, 'prepareFacetForTemplate'), $facetCollection->getFacets()); $activeFilters = array(); foreach ($facetsVar as $facet) { foreach ($facet['filters'] as $filter) { if ($filter['active']) { $activeFilters[] = $filter; } } } return $this->render('catalog/_partials/facets', array('facets' => $facetsVar, 'js_enabled' => $this->ajax, 'activeFilters' => $activeFilters, 'sort_order' => $result->getCurrentSortOrder()->toString(), 'clear_all_link' => $this->updateQueryString(array('q' => null, 'page' => null)))); }