Posted under » Drupal on 25 July 2011
This applies to Drupal 6
Most Drupal templates do not separate the taxonomy terms by vocabulary except a few like the Wabi theme. There is another approach shared by Tim "TimOnWeb" Kamanin, if you google for it.
As usual, edit the template.php by adding this function.
function garland_separate_terms($node_taxonomy) {
if ($node_taxonomy) {
//separating terms by vocabularies
foreach ($node_taxonomy AS $term) {
$links[$term->vid]['taxonomy_term_'. $term->tid] = array(
'title' => $term->name,
'href' => taxonomy_term_path($term),
'attributes' => array(
'rel' => 'tag',
'title' => strip_tags($term->description)
),
);
}
//theming terms out
foreach ($links AS $key => $vid) {
$terms[$key] = theme_links($vid);
}
}
return $terms;
}
What this does is to convert the terms into array.
Now go to node.tpl.php file and in the beginning of the file write the following:
$terms = garland_separate_terms($node->taxonomy);
(Note: Change Garland to your theme name). Now replace old Drupal print $terms; with
1st category: <¿php print $terms[1]; ?>2nd category: <¿php print $terms[2]; ?>
Where [?] is the vocab id.
See also earlier theming post.