97 lines
3.9 KiB
PHP
97 lines
3.9 KiB
PHP
<?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]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|