2011-12-22 55 views
1

我正在处理视图,想知道是否有办法让视图更新面包屑痕迹。当我在我的第一个视图叫做homme时,面包屑没有更新,它仍然只是说“home>”,就好像它仍然在主页上。当我点击一个帖子时,面包屑更新为“主页>博客>管理员的博客>”。我需要它说首页>男士>文章的名称,基本上你期望什么时候去博客网站或职位。意大利面包屑drupal 7

我可以看到像博客一样的行为吗?

回答

1

一个选项是尝试覆盖默认面包屑函数生成的可输出主题的输出。

假设你已经创建了自己的主题 - 在主题的根目录下创建一个名为template.php的文件。创建一个名为YOURTHEME_breadcrumb的函数,其中YOURTHEME是主题的名称。这个函数返回的HTML将是面包屑。根据需要修改返回值以获得您想要的内容。考虑使用Drupal的菜单功能来构建更令人满意的面包屑。

检查更详细的这个API文章的评论:http://api.drupal.org/api/drupal/includes--theme.inc/function/theme_breadcrumb/7

+0

究竟应该怎样把这个YOURTHEME_breadcrumb功能?它会在模块中工作还是属于主题模板?如果我的主题有过程和预处理文件夹,应该放入哪个文件夹,还是属于其他位置? – beth 2012-07-06 21:24:51

+0

将它放置在主题文件根目录下名为'template.php'的文件中。 'template.php'文件实际上类似于'.module'文件,因为Drupal希望你的钩子函数能够存在。 – rybosome 2012-07-13 17:14:06

0

添加给你的template.php文件中应与D7网站合作:

function theme_breadcrumb($breadcrumb) 
{ 
    if (substr($_GET['q'], 0, 13) == 'news/category') { 
    $breadcrumb[] = l('News', 'news/'); 
    } 
    if (count($breadcrumb) > 1) { 
    if ($breadcrumb) { 
     return '<div class="breadcrumb">'. implode(' &rsaquo; ', $breadcrumb) ."</div>\n"; 
    } 
    } 
}