Revision: 3686
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 31, 2007 11:48 by JuliaKM
Initial Code
/*Change menu*/
/**
* Override menu links output
* NOTE: change function name to match theme name
**/
/*CHANGED Created body id based on section vocabulary */
//TODO Add is_front
function _phptemplate_variables($hook, $vars) {
switch ($hook) {
case 'page':
/*need to check for taxonomy or admin system flips out*/
/* Get the taxonomy info from the current node while in the page */
$node_taxonomy_object = $vars['node']->taxonomy;
if ($node_taxonomy_object) {
foreach ($node_taxonomy_object as $tax_object) {
$vid = $tax_object->vid;
switch($tax_object->vid){
case 14:
#works for primary navigation like mysite.com/about/
if (!arg(3) && !arg(2) ) {
$id = $vars['node']->nid;
$terms = taxonomy_node_get_terms_by_vocabulary($id, $vid);
foreach ($terms as $term) {
$termID = $term->tid;
$body_id = $term->name;
}
$parentCheck = taxonomy_get_parents($termID);
if ($parentCheck == NULL){
$vars['body_class'] = 'noselect';
}
$body_id = strtolower($body_id);
$vars['body_id'] = str_replace(" ","-",$body_id);
}
#Works for second-level navigation like mysite.com/about/mission/
if (!arg(3)) {
$id = $vars['node']->nid;
$terms = taxonomy_node_get_terms_by_vocabulary($id, $vid);
foreach ($terms as $term) {
$termID = $term->tid;
$body_class = $term->name;
}
//get parents
$parents = taxonomy_get_parents($termID);
foreach ($parents as $parent){
$body_id=$parent->name;
}
$body_class = strtolower($body_class);
$vars['body_class'] = str_replace(" ","-",$body_class);
$body_id = strtolower($body_id);
$vars['body_id'] = str_replace(" ","-",$body_id);
#account for having no parents, really redundant, needs to be shortened.
$parentCheck = taxonomy_get_parents($termID);
if ($parentCheck == NULL){
$vars['body_class'] = 'noselect';
}
}
# No third-level navigation on static pages
break;
#designed for non-static pages, pages not set as "Pages"
default:
#works for primary navigation like mysite.com/about/
$vocab = taxonomy_get_vocabulary($vid);
$body_id = $vocab->name;
$body_id = strtolower($body_id);
$vars['body_id'] = str_replace(" ","-",$body_id);
if (!arg(3) && !arg(2)) {
$vars['body_class'] = 'noselect';
}
# Works for second-level navigation like mysite.com/about/mission/
if (!arg(3)) {
$id = $vars['node']->nid;
$terms = taxonomy_node_get_terms_by_vocabulary($id, $vid);
foreach ($terms as $term) {
$termID = $term->tid;
$body_class = $term->name;
}
$body_class = strtolower($body_class);
$vars['body_class'] = str_replace(" ","-",$body_class);
}
# Works for third-level navigation like mysite.com/about/mission/article.html
if (arg(3)) {
$id = $vars['node']->nid;
$terms = taxonomy_node_get_terms_by_vocabularies($id, $vid);
foreach ($terms as $term) {
$termID = $term->tid;
$body_class = $term->name;
}
$body_class = strtolower($body_class);
$vars['body_class'] = str_replace(" ","-",$body_class);
//echo "Body Class =" . $body_class;
}
}
}
}
return $vars;
}
}
Initial URL
Initial Description
Initial Title
drupal taxonomy based menu
Initial Tags
textmate, drupal
Initial Language
PHP