2017-08-15 4 views
1

J'essaie d'obtenir des données de taxonomie par nœud particulier.Obtenir l'ID de terme de taxonomie par nœud dans Drupal 8

Comment puis-je obtenir l'identificateur de terme de taxonomie à l'aide de l'objet nœud?

Drupal ver. 8.3.6

+0

Possible duplicate de [valeur de terme de taxonomie drupal 8 get dans le nœud] (https://stackoverflow.com/questions/37122908/drupal-8-get-taxonomy-term-value-in-node) –

+0

Probablement non, le l'autre réponse appartient à la version précédente. La solution ne correspond pas à Drupal actuel. (8.3.6 en particulier) – Arfeen

+0

que vous avez essayé? Mettre à jour le code. –

Répondre

2

Vous pouvez faire quelque chose comme ça:

$termId = $node->get('field_yourfield')->target_id; 

Ensuite, vous pouvez charger le terme avec

Term::load($termId); 

Hope this helps.

+0

Vous pouvez également charger le terme à partir du noeud tel que 'node-> get ('field_yourfield') -> entity' et récupérer ici le nom tel que' node-> get ('field_yourfield') -> entity-> name -> valeur'. –

2

Si vous souhaitez obtenir des données Taxonomie Terme vous pouvez utiliser ce code:

$node->get('field_yourfield')->referencedEntities(); 

espère que ce sera utile pour vous.

PS: Si vous avez juste besoin d'identifiant de terme que vous pouvez utiliser ceci:

$node->get('field_yourfield')->getValue(); 

Vous obtiendrez quelque chose comme ceci:

[0 => ['target_id' => 23], 1 => ['target_id'] => 25] 

Dans l'exemple de mon champ a 2 termes de taxonomie référencés. Merci!