drupal-erable/web/themes/erabletheme/erabletheme.theme

125 lines
4.1 KiB
PHP
Raw Normal View History

2023-11-30 17:33:32 +01:00
<?php
/**
* @file
* Functions to support theming in the erabletheme theme.
*/
/**
* Implements hook_preprocess_HOOK() for html.html.twig.
*/
function erabletheme_preprocess_html(&$variables) {
}
/**
* Implements hook_preprocess_HOOK() for page.html.twig.
*/
function erabletheme_preprocess_page(&$variables) {
}
/**
* Implements hook_preprocess_HOOK() for node.html.twig.
*/
function erabletheme_preprocess_node(&$variables) {
2023-12-13 15:08:55 +01:00
$t = "t";
2023-11-30 17:33:32 +01:00
}
2024-04-19 17:43:06 +02:00
function erabletheme_preprocess_node__view__meetup(&$variables) {
2024-04-19 17:55:01 +02:00
/** @var \Drupal\node\Entity $node */
2024-04-19 17:43:06 +02:00
$node = $variables['node'];
$user_id = $node->get('uid')->getValue()[0]['target_id'];
2024-04-19 17:55:01 +02:00
/** @var Drupal\user\Entity $user*/
2024-04-19 17:43:06 +02:00
$user = \Drupal\user\Entity\User::load($user_id);
2024-04-19 17:55:01 +02:00
/** @var Drupal\profile\Entity $profile */
2024-04-19 17:43:06 +02:00
$profile = $user->get('candidat' . '_profiles')->entity;
2024-04-19 17:55:01 +02:00
if ($profile) {
$variables['profile'] = [
'prenom' => $profile->get('field_prenom')->getValue()[0]['value'],
'nom' => $profile->get('field_nom')->getValue()[0]['value']
];
} else {
$variables['profile'] = [
'prenom' => $user->getAccountName(),
'nom' => "",
];
}
2024-04-19 17:43:06 +02:00
}
2023-12-04 13:56:23 +01:00
/**
* Implements hook_preprocess_HOOK() for node.html.twig.
*/
function erabletheme_preprocess_form(&$variables) {
$t="t";
}
function erabletheme_preprocess_region(&$variables) {
$t="t";
2023-12-13 15:08:55 +01:00
}
function erabletheme_preprocess_views_view(&$variables) {
$t="t";
}
/* fonctionne mais meilleure méthode avec les suggestions page--xxx */
function erabletheme_theme_suggestions_views_view_alter(array &$suggestions, array $variables) {
2024-04-26 17:26:56 +02:00
// il ne faut pas baser le template sur des contenus !
// if ($variables['title'] !== "") {
// $view_title = $variables['title']['#markup'];
// if (isset($view_title) && $view_title === 'Actualités') {
// $suggestions[] = 'views_view__page_actus';
// } elseif (isset($view_title) && $view_title === 'Gouvernance') {
// $suggestions[] = 'views_view__content_gouvernance';
// } elseif (isset($view_title) && $view_title === 'Partenaires') {
// $suggestions[] = 'views_view__content_partenaires';
// }
// elseif (isset($view) && $view === 'Meetup en ligne') {
// $suggestions[] = 'views_view__content_meetup';
// }
// }
$view = $variables['view'];
switch ($view->id()) {
case 'actus':
2023-12-13 15:08:55 +01:00
$suggestions[] = 'views_view__page_actus';
2024-04-26 17:26:56 +02:00
break;
2024-04-26 17:32:03 +02:00
case 'gourvernance': // attention faute de frappe dans l'id dans drupal
2023-12-13 15:08:55 +01:00
$suggestions[] = 'views_view__content_gouvernance';
2024-04-26 17:26:56 +02:00
break;
case 'partenaires':
2023-12-13 15:08:55 +01:00
$suggestions[] = 'views_view__content_partenaires';
2024-04-26 17:26:56 +02:00
break;
case 'meetup':
2024-03-29 21:29:59 +01:00
$suggestions[] = 'views_view__content_meetup';
2024-04-26 17:26:56 +02:00
break;
2023-12-13 15:08:55 +01:00
}
}
function erabletheme_theme_suggestions_node_alter(array &$suggestions, array $variables) {
$is_actu = isset($variables['elements']['field_type_d_actualite']);
if (!$is_actu && isset($variables['elements']['#title'])) {
$total_title = $variables['elements']['#title'];
$start_pos = strpos($total_title, '<span>') + strlen('<span>');
$end_pos = strpos($total_title, '</span>');
$processed_title = substr($total_title, $start_pos, $end_pos - $start_pos);
if ($processed_title !== 'Partenaires' || $processed_title !== 'Gouvernance') {
$suggestions[] = 'node__content_global';
}
}
2024-03-29 21:29:59 +01:00
}
2023-12-13 15:08:55 +01:00
2024-03-29 21:29:59 +01:00
function erabletheme_theme_suggestions_region_alter(array &$suggestions, array $variables) {
2024-04-26 17:26:56 +02:00
// 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") {
2024-03-29 21:29:59 +01:00
$suggestions[] = 'region__offre_meetup';
} elseif (isset($variables['elements']['erabletheme_contenudelapageprincipale']) && $variables['elements']['erabletheme_contenudelapageprincipale']['content']['#title'] == "Foire aux Questions") {
$suggestions[] = 'region__faq';
}
}