diff --git a/web/themes/erabletheme/erabletheme.theme b/web/themes/erabletheme/erabletheme.theme index 0afba34..1402703 100644 --- a/web/themes/erabletheme/erabletheme.theme +++ b/web/themes/erabletheme/erabletheme.theme @@ -114,12 +114,30 @@ function erabletheme_theme_suggestions_node_alter(array &$suggestions, array $va } function erabletheme_theme_suggestions_region_alter(array &$suggestions, array $variables) { - // if (isset($variables['elements']['erabletheme_contenudelapageprincipale']) && $variables['elements']['erabletheme_contenudelapageprincipale']['content']['#title'] == "Meet-up en ligne") { - // il ne faut pas baser le template sur des contenus ! - if (isset($variables['elements']['erabletheme_contenudelapageprincipale']) - && $variables['elements']['erabletheme_contenudelapageprincipale']['content']['#view_id'] == "meetup") { - $suggestions[] = 'region__offre_meetup'; - } elseif (isset($variables['elements']['erabletheme_contenudelapageprincipale']) && $variables['elements']['erabletheme_contenudelapageprincipale']['content']['#title'] == "Foire aux Questions") { - $suggestions[] = 'region__faq'; + if (isset($variables['elements']['erabletheme_contenudelapageprincipale'])) { + // il ne faut pas baser le template sur des contenus ! + // if ($variables['elements']['erabletheme_contenudelapageprincipale']['content']['#title'] == "Meet-up en ligne") { + // $suggestions[] = 'region__offre_meetup'; + // } else + // if ($variables['elements']['erabletheme_contenudelapageprincipale']['content']['#title'] == "Foire aux Questions") { + // $suggestions[] = 'region__faq'; + // } + + // ça c'est mieux, se baser uniquement sur des infos structurelles (qui ne sont pas dynamiques) + $routematch = \Drupal::routeMatch(); + $routename = $routematch->getRouteName(); + switch ($routename) { + case 'faq.faq-page': + $suggestions[] = 'region__faq'; + break; + case 'entity.node.canonical': + /** @var \Drupal\node\Entity\Node $node */ + $node = $routematch->getParameter('node'); + if ($node->getType() === 'offre') { + $suggestions[] = 'region__offre_meetup'; + } + break; + } + } } \ No newline at end of file