Drupal 8 theming aggiungere variabile is_front nel template twig

                      
                        
    

Drupal 8 theming aggiungere variabile is_front nel template twig

In drupal 8 è possibile impostare tramite la funzione HOOK_preprocess() una variabile "is_front" che è possibile richiamare in qualsiasi parte del template, per verificare se quel determinato blocco (ad esempio) è richiamato in home page oppure no.  Quindi in /sites/default/themes/miotemplate/miotemplate.theme :

function miotemplate_preprocess(&$variables) { 
       // imposta la variabile basata su path.matcher.
       if (!isset($variables['is_front'])) { 
              try { $variables['is_front'] = \Drupal::service('path.matcher')->isFrontPage(); 
       } catch (\Exception $e) { 
              $variables['is_front'] = FALSE; 
       }
}

// Assicurati che la cache viene aggiornata

$variables['#cache']['contexts'][] = 'url.path.is_front'; }

a questo punto in qualsiasi parte del template, si può richiamare la variabile con :

{% if is_front == TRUE %} 
       [... istruzioni ..] 
{% endif %}