function _term_reference_tree_output_list_level in Taxonomy Term Reference Tree Widget 8
Same name and namespace in other branches
- 7.2 term_reference_tree.widget.inc \_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.module - Themes the term tree display (as opposed to the select widget).
File
- ./
term_reference_tree.module, line 474
Code
function _term_reference_tree_output_list_level(&$element, &$tree) {
$output = '';
$langcode = \Drupal::languageManager()
->getCurrentLanguage()
->getId();
if (isset($tree['children']) && is_array($tree['children']) && count($tree['children']) > 0) {
$output = '<ul class="term">';
foreach ($tree['children'] as &$item) {
if (isset($item['tid'])) {
$term = Term::load($item['tid']);
$url = $term
->toUrl();
$uri['options']['html'] = TRUE;
$class = $item['selected'] ? 'selected' : 'unselected';
$output .= '<li class="' . $class . '">';
$t = NULL;
$term_name = '';
if (\Drupal::moduleHandler()
->moduleExists('locale') && !empty($term->tid)) {
$t = $term;
if ($t && $t
->hasTranslation($langcode)) {
$term_name = $t
->getTranslation($langcode)
->label();
}
}
if (empty($term_name)) {
$term_name = $term
->label();
}
$output .= \Drupal::service('link_generator')
->generate($term_name, $url);
if (isset($item['children'])) {
$output .= _term_reference_tree_output_list_level($element, $item);
}
$output .= '</li>';
}
}
$output .= '</ul>';
}
return $output;
}