function _term_reference_tree_output_list_level in Taxonomy Term Reference Tree Widget 7.2
Same name and namespace in other branches
- 8 term_reference_tree.module \_term_reference_tree_output_list_level()
- 7 term_reference_tree.widget.inc \_term_reference_tree_output_list_level()
Helper function to output a single level of the term reference tree display.
1 call to _term_reference_tree_output_list_level()
- theme_term_tree_list in ./
term_reference_tree.widget.inc - Themes the term tree display (as opposed to the select widget).
File
- ./
term_reference_tree.widget.inc, line 203
Code
function _term_reference_tree_output_list_level(&$element, &$tree) {
if (isset($tree['children']) && is_array($tree['children']) && count($tree['children'] > 0)) {
$output = '<ul class="term">';
$settings = $element['#display']['settings'];
$tokens_selected = $settings['token_display_selected'];
$tokens_unselected = $settings['token_display_unselected'] != '' ? $settings['token_display_unselected'] : $tokens_selected;
$taxonomy_term_info = entity_get_info('taxonomy_term');
foreach ($tree['children'] as &$item) {
$term = $taxonomy_term_info['load hook']($item['tid']);
$uri = $taxonomy_term_info['uri callback']($term);
$uri['options']['html'] = TRUE;
$class = $item['selected'] ? 'selected' : 'unselected';
$output .= "<li class='{$class}'>";
if ($tokens_selected != '' && module_exists('token')) {
$replace = $item['selected'] ? $tokens_selected : $tokens_unselected;
$output .= token_replace($replace, array(
'term' => $term,
), array(
'clear' => TRUE,
));
}
else {
$output .= l(entity_label('taxonomy_term', $term), $uri['path'], $uri['options']);
}
if (isset($item['children'])) {
$output .= _term_reference_tree_output_list_level($element, $item);
}
$output .= "</li>";
}
$output .= '</ul>';
return $output;
}
}