Drupal 8: customizzazione pagina in base al tipo di contenuto
Salve a tutti, ho un quesito da porvi riguardo la customizzazione di alcune pagine di un template. Dopo aver installato Drupal 8.1, il tema Bootstrap 3, e aver creato un mio apposito sottotema seguendo la documentazione bootstrap, vorrei fare una cosa alquanto semplice, ovvero customizzare la pagina di uno specifico tipo di contenuto (nel mio caso "prodotto"), e preferibilmente solo la full page di questo contenuto. Sono parzialmente riuscito a fare questo creando il template node--prodotto--full.html.twig, solo che cosi facendo non posso controllare l'output del page header, ovvero dove viene scritto il titolo del post. Ho visto che questo viene gestito nel blocco header del template page.html.twig ma in quel caso anche creando il template page--node--prodotto.html.twig l'override viene ignorato. Come fareste voi per ridefinire tutto il layout di una pagina, compreso l'header, in base al tipo di contenuto?

Risposte
Ciao prova ad inserire nel
Ciao prova ad inserire nel file .theme del tema questo snippet:
function [nome-tema]_theme_suggestions_alter(array &$suggestions, array $variables, $hook) {if ($hook == 'page') {
$node = \Drupal::request()->attributes->get('node');
if (!empty($node)) {
$suggestions[] = "page__node__{$node->getType()}";
}
}
}
sostituendo [nome-tema] con il nome macchina del tema e ripulendo la cache.
A questo punto dovresti poter usare il file page--node--[tipo-nodo].html.twig.
Grazie mille, appena riesco
Grazie mille, appena riesco provo, anche se per il momento ho risolto configurando il blocco "titolo pagina", dato che il mio intento era quello di nascondere il titolo sulle pagine di uno specifico tipo di contenuto, e il modulo blocchi fortunatamente lo permette.