Comment obtenir le nom du type de contenu lisible par l'homme dans un modèle de nœud


14

J'ai créé un modèle de nœud pour mon nœud et son bon fonctionnement.

J'ai besoin d'imprimer le nom du type de contenu, qui est comme "Whitepaper" et a le nom de la machine "w1" dans mon modèle de nœud. Si j'utilise une variable {{ node.bundle }}, son impression du nom de la machine. Mais j'ai besoin du nom lisible par l'homme .

J'ai essayé de nombreux éléments de variables de nœud, de contenu et de page, mais je ne suis pas en mesure d'imprimer le nom du type de contenu lisible par l'homme.

Quelqu'un peut-il aider?

Réponses:


22

Vous devriez pouvoir obtenir le nom lisible par l'homme du type de contenu (ou l '"étiquette") en utilisant l'extrait de code suivant dans votre modèle Twig de nœud.

{{ node.type.entity.label }} 

2
oui, c'est la solution la plus simple, je n'ai pas
pensé

2
J'ai essayé, {{node.label}} qui renvoyait le nom de la machine à la place, {{node.type.entity.label}} a rempli mon objectif, merci :)
Dev

4

Vous pouvez ajouter le nom lisible par l'homme du type de contenu dans un hook de prétraitement:

mytheme.theme

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

et utilisez-le dans le modèle de nœud:

{{ content_type }}

1
Juste pour que l'enregistrement node_type_load soit obsolète, vous devez utiliser NodeType :: load () à la place.
Insasse
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.