web-dev-qa-db-ja.com

分類用語をロードするにはどうすればよいですか?

分類用語をtidでロードしたいのですが、方法がわかりませんでした。名前で分類法をロードする方法のみですが、今では用語IDがあり、フィールドの値を取得する必要があります。

これをカスタムブロックのパブリック関数build()で呼び出します。

私のコード:

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

シングルマナーで

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

例:用語ID = 2のタイトルと言語を読み込む

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

そして、あなたが望むように複数ロードするために

  $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

次のようにすることもできます:

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

例: http://www.drupal8.ovh/en/tutoriels/17/get-taxonomy-terms-of-a-vocabulary-drupal-8

7
Net