web-dev-qa-db-fra.com

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

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 la variable {{ node.bundle }}, il imprime le 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?

14
Dev

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

{{ node.type.entity.label }} 
23
edwardchiapet

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 }}
4
4k4