Come rimuovo il titolo / intestazione della pagina?


10

In Drupal 8, c'è un modo semplice per configurare una pagina in modo che la sua intestazione / titolo non sia visualizzata sulla pagina?

Ho creato una pagina di base, con / home come alias percorso e Home come titolo. L'ho impostato come prima pagina. Tuttavia, visualizza "Home" nella parte superiore della pagina, appena sotto la barra di navigazione e il pangrattato.

È necessario creare un sottotema del tema "Bootstrap" e in qualche modo aggiungere un CSS personalizzato?

Risposte:


28

Drupal 8 posiziona il titolo della pagina nel suo blocco (chiamato Titolo della pagina). Puoi controllare quando e dove viene visualizzato quel blocco nella pagina di layout del blocco: / admin / struttura / blocco


2

puoi anche usare questo modulo per drupal 8 https://www.drupal.org/project/exclude_node_title

  • Questo modulo gestisce una funzionalità molto semplice, decidi qualunque cosa escludere il titolo di un nodo dalla pagina completa del nodo o dai teaser del nodo. Fornisce una casella di controllo nelle pagine di modifica dei nodi per facilitare l'esclusione. Fornisce inoltre l'opzione per nascondere tutti i titoli di un determinato tipo di contenuto. Dall'interfaccia amministrativa è possibile selezionare un tipo di contenuto per cui nascondere il titolo.

1
Grazie mille per aver raccomandato questo modulo, naveen. Stavo cercando qualcosa di semplice, pronto all'uso, motivo per cui ho scelto la risposta di Acrosman. Tuttavia, il tuo suggerimento sembra funzionare ugualmente bene ed è effettivamente preferito se vuoi nascondere il titolo in base al tipo di contenuto. Ho creato un segnalibro per quel modulo nel caso fosse necessario. Grazie ancora per il tuo aiuto!
kvjava1,

Vorrei mettere in guardia gli utenti su questo modulo; lo abbiamo installato e lo abbiamo usato per un po ', ma ci siamo imbattuti in un paio di gotcha a sorpresa: 1. Non è integrato con le viste, quindi non è possibile creare una vista che indichi quali nodi hanno i loro titoli esclusi ( drupal.org/ project / exclude_node_title / issues / 3065469 ) e 2. non è memorizzato nelle revisioni, quindi se si sta guardando la cronologia delle revisioni di un nodo, verrà visualizzato con il suo titolo in ogni caso, anche se quella revisione è stata impostata su escludi titolo nodo ( drupal.org/project/exclude_node_title/issues/3077257 ).
user1359

1

Puoi farlo interamente con CSS. Devi scegliere come target quel nodo che stai utilizzando come pagina HOME.

Ora, Drupal-7 stava generando una classe specifica per ciascun nodo. E in questo modo è stato facile indirizzare ogni singolo nodo e siamo stati in grado di applicare il CSS specifico a quel particolare nodo.

Ma in Drupal 8 questa proprietà non è disponibile, quindi è necessario aggiungerla. seguire i seguenti passi. Sto mostrando questo usando il tema Bartik in quanto non ho familiarità con il tema Bootstrap. Puoi farlo anche con il tema bootstrap. È puro CSS, quindi non è necessario alcun sottotema.

1. Aggiungi la funzione al file bartik.theme.

if ($node = \Drupal::request()->attributes->get('node')) {
    $variables['attributes']['class'][] = 'page-node-' . $node->id();
  }

nella sezione di,

function bartik_preprocess_html(&$variables) {   

}

Perché sto mostrando in questo modo, perché ci sono già altri codici function bartik_preprocess_html(&$variables), quindi aggiungi questa funzione come ultima riga.

Cancella cache,

2. Ottieni il CSS per quel nodo

Ora, se lo fai Inspect elementsu quel particolare nodo. Puoi trovare la classe nella <body></body>sezione come page-node-XX.

3. Vai su core / themes / bartik / css / components / page-title.css e aggiungi il seguente codice,

.page-node-XX .page-title {
 display: none;
}

Cancella cache,

Ora, in questo modo puoi scegliere come target quel particolare nodo e puoi fare qualunque CSS tu voglia applicare.

Credito per codice funzione: Link


CodeNext, grazie mille per la risposta dettagliata. In realtà sono stato in grado di realizzare ciò che dovevo fare prima, come un trucco rapido, aggiungendo il seguente CSS al file styles.css del mio sottotema: .page-header {display: none; } Tuttavia, la risposta di Acrosman sembrava offrire l'approccio più semplice. Mi è piaciuta anche la tua risposta perché aiuta a capire gli aspetti interni di come funziona il tema in Drupal8. Grazie ancora! Lo apprezzo molto.
kvjava1,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.