drupal 菜单导航加上当前分类,drupal 面包屑breadcrumb重新定义

需求:

在导航栏上加上当前位置衔接名称:比如 点击本站 分类 drupal 开发, 然后导航为:
首页 > drupal 开发, 当具体一篇文章,导航则为: 首页 > drupla 开发 > 当前页面网站标题

解决方法:

1 使用第三方drupal模块,这个比较简单,
2 自己在drupal 主题 下的template.php里来定义。

这里就使用template.php来定义方法来实现。

先在自己的主题里下面建立一个template.php文件,然后拷贝下面代码:

<?php

function phptemplate_breadcrumb($breadcrumb){//重写drupal菜单面包屑
    
if(!empty($breadcrumb)){//如果drrupal面包屑变量不为空
         
        
$breadcrumb[] = l(t(drupal_get_title()),$_REQUEST['q']);//定义一个一个菜单数组。得到当前的标题,$_REQUEST['q'] 衔接地址
         
    
}

    return 
"<div class=\"breadcrumb\">".implode(' > ',$breadcrumb)."</div>";//返回面包屑,并且使用>符号把菜单分割开
    
}

function 
yourthemenamne_preprocess_page(&$variables){//yourthemenamne 改为自己使用的主题名称
$node $variables['node'];
        
$terms $node->taxonomy;
        if(
is_array($terms)){
            
$tax = array();
            
$tax[]= l(t('Home'),'<front>');
            foreach(
$terms as $k=>$term){
                
$tax[] = l(t($term->name),'taxonomy/term/'.$term->tid);//衔接数组,文章所在分类名称
            
}
            
$variables['breadcrumb'] = theme('breadcrumb'$tax);// 调用breadcrumb theme
        
}
}
?>

修改完成之后要删除缓存。

缓存清除方法:

1.访问admin/build/modules能够清除缓存。

2.访问admin/settings/performance,点击里面的清除缓存数据按钮。

来自http://hellodrupal.info/node/84

posted on 2012-05-17 19:21  孙亚军  阅读(699)  评论(0编辑  收藏  举报

导航