tree

Theme function to render a Taxonomy tree as nested lists

  1. function theme_taxonomy_tree($vid) {
  2.   $terms = taxonomy_get_tree($vid);
  3.   $tree = array();
  4.   $items = array();
  5.   foreach($terms as $term) {
  6.     $items[$term->tid]['data'] = theme('term_in_tree', $term);
  7.     $tree[$term->tid] =& $items[$term->tid];
  8.     foreach($term->parents as $parent_tid) {
  9.       if($parent_tid != 0) {
  10.         unset($tree[$term->tid]);
  11.         $items[$parent_tid]['children'][$term->tid] =& $items[$term->tid];
  12.       }
  13.     }
  14.   }
  15.   return theme('item_list', array_values($tree));
  16. }

Fix for Turn a flat taxonomy-tree into a real tree

  1.   $terms = taxonomy_get_tree(9);
  2.  
  3.   // build a map tid->term
  4.   $tree = array();
  5.   foreach ($terms as &$term) {
  6.     $tree[$term->tid] = &$term;
  7.   }
  8.  
  9.   // add child links to every node

Turn a flat taxonomy-tree into a real tree

  1.   $terms = taxonomy_get_tree(9);
  2.  
  3.   // build a map tid->term
  4.   $tree = array();
  5.   foreach ($terms as &$term) {
  6.     $tree[$term->tid] = &$term;
  7.   }
  8.  
  9.   // add child links to every node
Syndicate content