如何在 Drupal 8 中获取分类术语的父代号
How do I get the parent tid of a taxonomy term in Drupal 8
我使用以下方法在 drupal 8 中获取分类术语的父项:
$parent = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadParents($termId);
$parent = reset($parent);
既然我有了父级,我该如何从中获取父级的 tid?
您可以拉动词汇树并筛选它。
// assuming $termId is the child tid..
$tree = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree('VOCABULARY_NAME', 0);
for ($tree as $term) {
if (in_array($termId, $term->parents)) {
$parent_term = $term;
break;
}
}
现在您有了 parent 和代码:
$parent = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadParents($termId);
$parent = reset($parent);
您可以简单地使用 $parent->id()
方法来获取您的 parent tid.
$parent_tid = $parent->id()
$term = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load($term_id);
$parent_term_id = $term->parent->target_id;
如果存在,它将提供术语的父 ID。
我使用以下方法在 drupal 8 中获取分类术语的父项:
$parent = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadParents($termId);
$parent = reset($parent);
既然我有了父级,我该如何从中获取父级的 tid?
您可以拉动词汇树并筛选它。
// assuming $termId is the child tid..
$tree = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree('VOCABULARY_NAME', 0);
for ($tree as $term) {
if (in_array($termId, $term->parents)) {
$parent_term = $term;
break;
}
}
现在您有了 parent 和代码:
$parent = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadParents($termId);
$parent = reset($parent);
您可以简单地使用 $parent->id()
方法来获取您的 parent tid.
$parent_tid = $parent->id()
$term = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load($term_id);
$parent_term_id = $term->parent->target_id;
如果存在,它将提供术语的父 ID。