TIDから用語名を取得する方法は?[閉まっている]


9

別の投稿によると、私はこれを行うべきですが$term = \Drupal::entityTypeManager()->getStorage('taxonomy')->load($tid); 、その後このエラーが発生します:

Notice: Undefined property: Drupal\Core\Entity\Plugin\DataType\EntityReference::$target

回答:


29

または、エンティティのTermクラスを使用することもできます。

use Drupal\taxonomy\Entity\Term;

あなたのコードで:

$term = Term::load($tid);
$name = $term->getName();

これは私のために働いた。
ダイアナ

3
これを見たときの私の最初の本能は、「ああ、いや、最近Drupalランドで頭を悩ませ続けている依存性注入についてはどうですか?」でしたが、-検査時に-によって共有される静的:: load($ id)メソッドすべてのタイプのエンティティには、必要な依存性注入のサポートがすべて組み込まれています。これが、あらゆる種類のエンティティ(ノード、コメントなど)をロードする方法の私の選択になります。実際、なぜ誰もが長い形式の\ Drupal :: entityTypeManager()-> blah-> blah-> blahメソッドを使用するのはなぜでしょうか。(たぶん、誰かがチャイムを鳴らし、それについて正当な理由を与えるでしょうか?)
Daniel Scott

11

そのはず:

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

taxonomy_termtaxonomy

その後、$term->getName()

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.