Come ottenere il nome del tipo di contenuto leggibile dall'uomo in un modello di nodo


14

Ho creato un modello di nodo per il mio nodo e funziona perfettamente.

Ho bisogno di stampare il nome del tipo di contenuto, che è come "Whitepaper" e ha il nome macchina "w1" nel mio modello di nodo. Se uso variabile {{ node.bundle }}, è la stampa del nome della macchina. Ma ho bisogno del nome leggibile dall'uomo .

Ho provato molti elementi di nodo, contenuto e variabili di pagina ma non sono in grado di stampare il nome del tipo di contenuto leggibile dall'uomo.

Qualcuno può aiutare?

Risposte:


22

Dovresti essere in grado di ottenere il nome leggibile dall'uomo del tipo di contenuto (o l '"etichetta") utilizzando il seguente frammento nel modello di nodo Twig.

{{ node.type.entity.label }} 

2
sì, questa è la soluzione più semplice, non mi è
venuto in

2
Ho provato, {{node.label}} che invece stava restituendo il nome della macchina, {{node.type.entity.label}} ha soddisfatto il mio scopo, grazie :)
Dev

4

È possibile aggiungere il nome leggibile umano del tipo di contenuto in un hook di preelaborazione:

mytheme.theme

/**
 * Implements hook_preprocess_node().
 */
function mytheme_preprocess_node(array &$variables) {
  $node = $variables['node'];
  $variables['content_type'] = node_type_load($node->bundle())->label();
}

e usalo nel modello di nodo:

{{ content_type }}

1
Solo per il record node_type_load è deprecato, devi invece usare NodeType :: load ().
Insasse
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.