web-dev-qa-db-fra.com

Comment puis-je obtenir l'étiquette de type de nœud à partir d'un objet nœud?

J'essaie d'obtenir l'étiquette de bundle (étiquette de type de nœud) du nœud à partir d'un objet de nœud dans Drupal 8.

Cela fonctionne, mais semble de longue haleine:

$node_type = \Drupal::entityManager()->getStorage('node_type')->load($node->getType())->get('name');

Existe-t-il une autre façon d'obtenir le label du bundle, possible d'une manière moins compliquée?

12
oknate

Le code suivant fonctionne, comme indiqué dans @ Clive .

$type_name = $node->type->entity->label();
15
No Sssweat

Dans le cas où vous avez besoin du nom de machine du type de nœud dans le modèle Twig:

{{ node.getType }}
8
Alberto Galvis

Si vous voulez l'étiquette en brindille

{{ node.type.entity.label }}
6
GiorgosK

Essayez ce code.

use Drupal\node\Entity\NodeType;

$types = NodeType::loadMultiple();
$bundle = $node->bundle(); 
$type_name = $types[$bundle]->label();
5
MrD

Il y a une fonction pour ça

node_get_type_label($node);
2
Emil Stoianov