--- modulos/taxonomy_menu/taxonomy_menu.module +++ nuevos_modulos/taxonomy_menu/taxonomy_menu.module @@ -771,14 +771,14 @@ * @param $vid * @return boolean */ -function _taxonomy_menu_children_has_nodes($tid, $vid) { +function _taxonomy_menu_children_has_nodes($tid, $vid, $has_nodes = FALSE) { $children = taxonomy_get_children($tid, $vid); foreach ($children as $tid => $term) { if (_taxonomy_menu_term_count($tid) > 0) { - return _taxonomy_menu_children_has_nodes($tid, $vid); - } - } - return TRUE; + return _taxonomy_menu_children_has_nodes($tid, $vid, TRUE); + } + } + return $has_nodes; } /** @@ -795,7 +795,7 @@ //if hide menu is selected and the term count is 0 and the term has no children then do not create the menu item if ($num == 0 && variable_get('taxonomy_menu_hide_empty_terms_'. $item['vid'], FALSE) && - _taxonomy_menu_children_has_nodes($item['tid'], $item['vid'])) { + !_taxonomy_menu_children_has_nodes($item['tid'], $item['vid'])) { $item['remove'] = TRUE; return $item; @@ -995,7 +995,7 @@ //if hide menu is selected and the term count is 0 and the term has no children then do not create the menu item if ($num == 0 && variable_get('taxonomy_menu_hide_empty_terms_'. $t['vid'], FALSE) && - _taxonomy_menu_children_has_nodes($t['tid'], $t['vid'])) { + !_taxonomy_menu_children_has_nodes($t['tid'], $t['vid'])) { $display_num = ''; } // if display number is selected and $num > 0 then change the title