From ebbde637ee6db3bec293b6cb81969506970faaf8 Mon Sep 17 00:00:00 2001 From: arturu Date: Fri, 24 May 2024 14:47:41 +0200 Subject: [PATCH] fix(template,node): fix nome dell'organo collegiale ouitoulia/diagraphe#31 --- includes/preprocess.inc | 21 +++++++++++++++++++ ...ode--type-classe--view-mode-full.html.twig | 9 +++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/includes/preprocess.inc b/includes/preprocess.inc index 57c4ef4f..023f7780 100644 --- a/includes/preprocess.inc +++ b/includes/preprocess.inc @@ -7,7 +7,9 @@ use Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException; use Drupal\Component\Plugin\Exception\PluginNotFoundException; +use Drupal\node\Entity\Node; use Drupal\skenografia\Helper\Helper as SHelper; +use Drupal\taxonomy\Entity\Term; use Drupal\user\Entity\User; /** @@ -89,6 +91,25 @@ function skenografia_preprocess_node(&$variables): void { } } + if (isset($variables['node'])) { + /** @var Drupal\node\Entity\Node $node */ + $node = $variables['node']; + if ($node->getType() == 'classe') { + /** @var Drupal\node\Entity\Node $percorso_di_studio */ + $percorso_di_studio = Node::load($node->get('field_percorso_di_studio')->getValue()[0]['target_id']); + $grado_istruzione_id = $percorso_di_studio->get('field_grado_di_istruzione')->getValue()[0]['target_id']; + $variables['grado_di_istruzione']['id'] = $grado_istruzione_id; + + // Risolvendo anche il nome 0.00011 secondi, + // lasciando commentato 6.9000000000097E-5 secondi, + // è ~37% più performante. + /** @var \Drupal\taxonomy\Entity\Term $grado_di_istruzione */ + //$grado_di_istruzione = Term::load($grado_istruzione_id); + //$nome_termine = $grado_di_istruzione->get('name')->getValue()[0]['value']; + //$variables['grado_di_istruzione']['nome'] = $nome_termine; + } + } + } /** diff --git a/templates/node/classe/node--type-classe--view-mode-full.html.twig b/templates/node/classe/node--type-classe--view-mode-full.html.twig index d2536db6..c92cc035 100644 --- a/templates/node/classe/node--type-classe--view-mode-full.html.twig +++ b/templates/node/classe/node--type-classe--view-mode-full.html.twig @@ -97,6 +97,13 @@ ] %} + {% set _denominazione_organo_collegiale = { + '3001' : 'Il consiglio di intersezione', + '3051' : 'Il consiglio di interclasse', + '3101' : 'Il consiglio della classe ' ~ _classe, + '3201' : 'Il consiglio della classe ' ~ _classe + } %} +
@@ -187,7 +194,7 @@
-

Il Consiglio della classe {{ _classe }}

+

{{ _denominazione_organo_collegiale[grado_di_istruzione.id] }}

{{ content.field_persona_responsabile }}