diff --git a/library/Class/AdminVar/UnleashedFacets.php b/library/Class/AdminVar/UnleashedFacets.php index 2effd06c885d9c72c212cd029078dbdd03f55303..289b424f8fb662738bc00e959edbbcde72ea0e51 100644 --- a/library/Class/AdminVar/UnleashedFacets.php +++ b/library/Class/AdminVar/UnleashedFacets.php @@ -25,10 +25,5 @@ class Class_AdminVar_UnleashedFacets { return in_array($code, explode(';', Class_AdminVar::get('UNLEASHED_FACETS'))); } - - - public function isNotUnleashed($code) { - return !$this->isUnleashed($code); - } } ?> \ No newline at end of file diff --git a/library/Class/MoteurRecherche/Facettes.php b/library/Class/MoteurRecherche/Facettes.php index 00caa9204bcc6abb4c583f0c73dbbb57c511cc72..0f78491692d5db426acf83ba9604832eba444c35 100644 --- a/library/Class/MoteurRecherche/Facettes.php +++ b/library/Class/MoteurRecherche/Facettes.php @@ -104,21 +104,23 @@ class Class_MoteurRecherche_Facettes { $table = ['facettes' => []]; foreach ($rubriques as $rubrique) { - $code_rubrique = $rubrique->getCode(); - if (!array_isset($code_rubrique, $facettes)) {continue;} - - $table["facettes"][$code_rubrique]["titre"] = $rubrique->getLibelle(); - - $nb=0; - foreach($this->_facettes_par_code_rubrique[$code_rubrique] as $facette) { - $nb++; - if ($nb > $nb_facettes - && (new Class_AdminVar_UnleashedFacets)->isNotUnleashed($code_rubrique)) - break; - - $table["facettes"][$code_rubrique][$nb]["id"] = $cle=$facette->getCle(); - $table["facettes"][$code_rubrique][$nb]["libelle"]= $facette->getLibelleFacette(); - $table["facettes"][$code_rubrique][$nb]["nombre"]= $this->_nb_facettes_par_cle[$cle]; + $rubric_code = $rubrique->getCode(); + if (!array_isset($rubric_code, $facettes)) + continue; + + $rubric_facets = array_values(array_slice($this->_facettes_par_code_rubrique[$rubric_code], + 0, + (new Class_AdminVar_UnleashedFacets)->isUnleashed($rubric_code) + ? count($this->_facettes_par_code_rubrique[$rubric_code]) + : $nb_facettes)); + + $table["facettes"][$rubric_code]["titre"] = $rubrique->getLibelle(); + + foreach($rubric_facets as $k => $facette) { + $nb = $k+1; + $table["facettes"][$rubric_code][$nb]["id"] = $cle=$facette->getCle(); + $table["facettes"][$rubric_code][$nb]["libelle"]= $facette->getLibelleFacette(); + $table["facettes"][$rubric_code][$nb]["nombre"]= $this->_nb_facettes_par_cle[$cle]; } }