在Drupal 8中按节点获取分类术语ID

Arf*_*een 4 drupal-8

我正在尝试通过特定节点获取分类法数据.

如何通过使用Node对象获取Taxonomy Term Id?

Drupal ver.8.3.6

wau*_*wau 6

如果您想获得Taxonomy Term数据,可以使用以下代码:

$node->get('field_yourfield')->referencedEntities();
Run Code Online (Sandbox Code Playgroud)

希望它对你有用.

PS:如果您只需要Term的ID,您可以使用:

$node->get('field_yourfield')->getValue();
Run Code Online (Sandbox Code Playgroud)

你会得到这样的东西:

[0 => ['target_id' => 23], 1 => ['target_id'] => 25]
Run Code Online (Sandbox Code Playgroud)

在示例中,我的字段有2个引用的分类术语.谢谢!


小智 5

您可以这样做:

$termId = $node->get('field_yourfield')->target_id;
Run Code Online (Sandbox Code Playgroud)

然后您可以用

Term::load($termId);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。

  • 您还可以从节点中加载术语,例如`node-> get('field_yourfield')-> entity',然后从此处检索名称,例如'node-> get('field_yourfield')-> entity-> name- >值`。 (2认同)