web-dev-qa-db-fra.com

Comment charger les termes de taxonomie?

Je veux charger les termes de taxonomie par tid, mais je n'ai pas trouvé comment. Seulement comment charger la taxonomie par nom, mais maintenant j'ai un identifiant de terme et j'ai besoin d'obtenir la valeur des champs.

J'appelle cela sur la fonction publique build() pour le bloc personnalisé.

Mon code:

$terms = \Drupal::entityManager()->getStorage('taxonomy_term')->loadTree('menu');
foreach ($terms as $term) {
    //var_dump($term->tid);
}
11
Kakoum

de manière unique

    $term = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load(TID);
    $value = $term->FIELD_MACHINENAME->value;

Exemple: charger le titre et la langue du terme id = 2

    $term = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load(2);
    $title = $term->name->value;
    langcode = $term->langcode->value;

Et pour charger plusieurs comme vous le vouliez

  $terms = $entityManager->getStorage('taxonomy_term')->loadMultiple($t‌​erms);
  foreach ($terms as $term) {
      var_dump($term->tid->value); //return tid of term
   var_dump($term->name->value); //return title of term
  }
14
Yusef

Vous pouvez également faire comme ceci:

$tids = [1,2,3];
$terms = \Drupal\taxonomy\Entity\Term::loadMultiple($tids);

Exemple tiré de: http://www.drupal8.ovh/en/tutoriels/17/get-taxonomy-terms-of-a-vocabulary-drupal-8

7
Net