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 %}