1 taxonomy.theme.inc | template_preprocess_taxonomy_term(&$variables) |
Process variables for taxonomy-term.tpl.php.
File
- core/
modules/ taxonomy/ taxonomy.theme.inc, line 168 - Theme functions for the Taxonomy module.
Code
function template_preprocess_taxonomy_term(&$variables) {
$view_mode = $variables['view_mode'] = $variables['elements']['#view_mode'];
$variables['term'] = $variables['elements']['#term'];
$term = $variables['term'];
$uri = entity_uri('taxonomy_term', $term);
$variables['term_url'] = url($uri['path'], $uri['options']);
$variables['term_name'] = check_plain($term->name);
$variables['page'] = $variables['view_mode'] == 'full' && taxonomy_term_is_page($term);
// Flatten the term object's member fields.
$variables = array_merge((array) $term, $variables);
// Helpful $content variable for templates.
$variables['content'] = array();
foreach (element_children($variables['elements']) as $key) {
$variables['content'][$key] = $variables['elements'][$key];
}
// field_attach_preprocess() overwrites the $[field_name] variables with the
// values of the field in the language that was selected for display, instead
// of the raw values in $term->[field_name], which contain all values in all
// languages.
field_attach_preprocess('taxonomy_term', $term, $variables['content'], $variables);
// Gather classes, and clean up name so there are no underscores.
$vocabulary_name_css = backdrop_clean_css_identifier($term->vocabulary);
$variables['classes'][] = 'vocabulary-' . $vocabulary_name_css;
// Add extra theme hook suggestions for taxonomy term vocabulary, view_mode and id.
$variables['theme_hook_suggestions'][] = 'taxonomy_term__' . $term->vocabulary;
$variables['theme_hook_suggestions'][] = 'taxonomy_term__' . $term->vocabulary . '__' . $view_mode;
$variables['theme_hook_suggestions'][] = 'taxonomy_term__' . $term->tid;
$variables['theme_hook_suggestions'][] = 'taxonomy_term__' . $term->tid . '__' . $view_mode;
}