我有3个级别的孩子的分类。我需要通过父母tid来获得所有级别的孩子。
taxonomy_get_children($ tid) - 仅提供该特定$ tid的直接子项。但不是所有的大孩子。
我该如何处理?
谢谢,
答案 0 :(得分:3)
function taxonomy_get_children_all($tid, $vid = 0, $key = 'tid'){
$c = taxonomy_get_children($tid, $vid, $key);
$result = array();
foreach ($c as $t => $d){
$result[$t] = $d;
$below = taxonomy_get_children_all($t, $vid, $key);
if (!empty($below)) {
foreach ($below as $nt => $nd){
$result[$nt] = $nd;
}
}
}
return $result;
}
答案 1 :(得分:0)
关注https://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.module/function/taxonomy_get_children/7 和 https://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.module/function/taxonomy_get_children/6 你应该得到多个结果。你用什么Drupal?
答案 2 :(得分:0)
$tree = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree('MACHINE_VOCABULARY_NAME');
foreach ($tree as $term) {
$termID[] = array(
'termId' => $term->tid,
'parent'=> $term->parents,
'depth' => $term->depth
);
}
dump($termID);