Knowing how to make the general taxonomy system fit with and support the requirements of a multiblog site can be tricky.
If a site has multiple blogs, but they all share the same vocabulary, there will be a problem trying to navigate using taxonomy links in a post.
I'll write here the code to make a term link go to a view with two arguments (the user id, and the term id).
In the full node view, the link in the terms will be like "blogterms/32/6"
- blogterms will be a view.
- 32 is the taxonomy term id
- 6 is the user id (Remeber that the drupal blogs as listed using the author)
To obtain this link, in the node.tpl.php insert this php code for the terms linsting:
if ($terms) {
if (arg(0) == 'node' && is_numeric(arg(1)) && is_null(arg(2))) {
$result = db_query('SELECT uid FROM {node} WHERE nid = %d ORDER BY uid DESC', arg(1)); // search node author in full view mode
$user = db_fetch_object($result);
$uid = $user->uid;
$nid = (int)arg(1);
} else {
$result = db_query('SELECT uid FROM {node} WHERE nid = %d ORDER BY uid DESC', $node->nid); // search node author when you are in the blog home (/blog/6)
$user = db_fetch_object($result);
$uid = $user->uid;
$nid = $node->nid;
}
}
$terms = taxonomy_node_get_terms($nid);
$output = "<ul>";
foreach ($terms as $term) {
$output .= "<li><a href=\"/blogterms/" .$term->tid . "/" .$uid . "\">$term->name</a></li>";
}
$output .= "</ul>";
print t('Tags:').$output;
Then in the view "blogterms" you must use Arguments
Taxonomy: Term ID (The first argument)
User: UID is Author (The second argument)