<?php
/*
	* @files
	* Theme Template Funtions
*/

// use Drupal\Core\Template\Attribute;
// use Drupal\Core\Link;
// use Drupal\Core\Url;
use Drupal\Component\Utility\Html;

function eql_preprocess_html(&$variables) {
  $node = \Drupal::routeMatch()->getParameter('node');
  if ($node){
    $variables['attributes']['class'][] = 'node-type-' . $node->bundle();
    $variables['attributes']['class'][] = 'node-id-' . $node->id();
  }
}


function eql_preprocess_node(&$variables){
  $node = &$variables['node'];
  $variables['attributes']['class'][] = 'node-type-' . $node->gettype();
  if($node->gettype() == "actualite") {
    $actu_type = $node->get('field_actu_type')->getString();
    $variables['attributes']['class'][] = 'actu-type-' . $actu_type;
  }
  if($node->gettype() == "offre_de_service") {
    $type_protagoniste = $node->get('field_type_de_protagoniste')->getString();
    $variables['attributes']['class'][] = 'type-de-protagoniste-' . $type_protagoniste;
  }
// Vérifie si le champ field_type_de_ressource existe et ajoute une classe basée sur sa valeur
if ($node->hasField('field_type_de_ressource') && !$node->get('field_type_de_ressource')->isEmpty()) {
  // Récupère la valeur de field_type_de_ressource
  $type_de_ressource = $node->get('field_type_de_ressource')->entity->getName();
  // Ajoute la classe CSS basée sur la valeur du type de ressource
  $variables['attributes']['class'][] = 'type-de-ressource-' . Html::cleanCssIdentifier($type_de_ressource);
  }
  

  
}

function eql_preprocess_field(&$variables) {
  $node = \Drupal::routeMatch()->getParameter('node');

  $field_name = &$variables['field_name'];
  if($node) {
    if ($field_name == 'field_type_de_protagoniste'){
    $type_protagoniste = $node->get('field_type_de_protagoniste')->getString();
    $variables['attributes']['class'][] = 'type-de-protagoniste-' . $type_protagoniste;
    }
  }
  $field_name = &$variables['field_name'];
  if($node) {
    if ($field_name == 'field-type-de-ressource'){
      $type_ressource = $node->get('field-type-de-ressource')->getString();
      $variables['attributes']['class'][] = 'type-de-ressource-' . $type_ressource;
      }
  }
}


////////////

function eql_preprocess_layout__threecol_25_50_25(&$variables) {
  $node = \Drupal::routeMatch()->getParameter('node');
  if($node->gettype() == "projet"){
    $variables['content']['top_bottom'] = [];     /////// déclare les nvx array 
    $variables['content']['top_right'] = [];
    $variables['content']['top_left'] = [];
    $variables['content']['top_bottom_left'] = [];
    foreach ($variables['content']['top'] as $key => $value) {
      if(isset($value['#base_plugin_id']) && $value['#base_plugin_id']== 'entity_field'){      ////// isset pour voir si existe && si oui fait ce que tu as à faire. $Value c'est l'attribut  
        if($value['#derivative_plugin_id']=="node:field_region" || $value['#derivative_plugin_id']=="node:field_adresse") {
          $variables['content']['top_bottom_left'][] = $variables['content']['top'][$key];
          unset($variables["content"]["top"][$key]); 
        }
        if($value['#derivative_plugin_id']=="node:field_type_de_moa" || $value['#derivative_plugin_id']=="node:field_type_de_projet" || $value['#derivative_plugin_id']=="node:field_etape_du_projet") {
          $variables['content']['top_bottom'][] = $variables['content']['top'][$key];
          unset($variables["content"]["top"][$key]); 
        } 
        if($value['#derivative_plugin_id']=="node:title" || $value['#derivative_plugin_id']=="node:field_equipe" || $value['#derivative_plugin_id']=="node:field_incube"){
          $variables['content']['top_right'][] = $variables['content']['top'][$key];
          unset($variables["content"]["top"][$key]);
        }
        if($value['#derivative_plugin_id']=="node:field_photo"){
          $variables['content']['top_left'][] = $variables['content']['top'][$key];
          unset($variables["content"]["top"][$key]);
        }
      }
    }
  }
}