/**
  * 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))));
 }