【发布时间】:2014-02-24 11:37:53
【问题描述】:
我有 3 个级别的孩子的分类。我需要通过父母 tid 获得所有级别的孩子。
taxonomy_get_children($tid) - 仅给出该特定 $tid 的直接子代。但不是所有的孙子。
我该如何处理?
谢谢,
【问题讨论】:
我有 3 个级别的孩子的分类。我需要通过父母 tid 获得所有级别的孩子。
taxonomy_get_children($tid) - 仅给出该特定 $tid 的直接子代。但不是所有的孙子。
我该如何处理?
谢谢,
【问题讨论】:
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;
}
【讨论】:
【讨论】:
$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);
【讨论】: