如何让所有分类学儿童在drupal中成为id

时间:2014-02-24 11:37:53

标签: drupal drupal-taxonomy

我有3个级别的孩子的分类。我需要通过父母tid来获得所有级别的孩子。

taxonomy_get_children($ tid) - 仅提供该特定$ tid的直接子项。但不是所有的大孩子。

我该如何处理?

谢谢,

3 个答案:

答案 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;
}

参考:https://drupal.org/node/381952

答案 1 :(得分:0)

答案 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);