/** * Implements hook_preprocess_views_view(). * * Page « Écosystèmes French Tech » (/les-ecosystemes-de-la-french-tech). * * La vue empile header (compteur) → filtres → carte Google (attachment_before, * 500 px de haut) → résultats. Sur une recherche ciblée ce sont donc la carte * mondiale et son compteur qui occupent l'écran, et l'unique fiche trouvée * tombe sous la ligne de flottaison. Dès qu'un filtre est actif on masque la * carte, on remonte les filtres en tête et on affiche un bandeau de résultats * explicite (terme recherché + réinitialisation) juste au-dessus des cartes. * Le réordonnancement visuel est fait en LESS (flex order) : cf. content.less, * section « Écosystèmes French Tech ». */ function b_pepite_preprocess_views_view(&$variables) { $view = $variables['view']; if ($view->name != 'les_hubs_de_la_french_tech' || $view->current_display != 'page') { return; } $search = isset($_GET['search_api_views_fulltext']) ? trim($_GET['search_api_views_fulltext']) : ''; $type = isset($_GET['field_type_de_hub_2019']) ? trim($_GET['field_type_de_hub_2019']) : ''; $filtered = ($search !== '' || $type !== ''); $variables['classes_array'][] = 'hubs-page'; if ($filtered) { $variables['classes_array'][] = 'hubs-filtered'; // La carte n'apporte rien sur une recherche ciblée : elle enterre le résultat. $variables['attachment_before'] = ''; } $total = isset($view->total_rows) ? (int) $view->total_rows : count($view->result); // Bandeau de résultats : remplace le header d'origine (compteur brut + bloc //