如何在drupal的面包屑中显示分类法子目录

时间:2010-12-28 10:10:10

标签: drupal breadcrumbs drupal-taxonomy

我正在使用Taxonomy_Manager和Menu_breadcrumb模块
我的类别如下:
+ BUSINESS
 ++农业  ++ Banking&财经
 ++ Construction&房地产
+新闻
 ++新闻背后
 ++和平与战争

现在的问题是:如果我浏览任何子类别,它将不会出现在痕迹中 (面包屑将是“Home>>”),而如果我浏览其中一个主要类别,它将正常显示在面包屑中(“Home>> News”)
我已经尝试过taxonomy_breadcrumb,但这并没有解决问题:(
如何设置子类别出现在面包屑中? 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我解决了所有与面包屑分类相关的问题,超越了druapal面包屑功能。您必须转到主题文件夹并在template.php文件中添加follow函数。

function YOUR_THEME_NAME_breadcrumb( $variables )
{
    // init
    $breadcrumb = $variables['breadcrumb'];

    // taxonomy hierarchy
    $hierarchy = array();
    if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) 
    {
        $tid = (int)arg(2);
        $parents = array_reverse(taxonomy_get_parents_all($tid));
        foreach( $parents as $k=>$v)
        {
            if( $v->tid==$tid ) continue;
            $breadcrumb[] = l($v->name, 'taxonomy/term/'. $v->tid);;
        }
    }

    // rendering
    if (!empty($breadcrumb))
    {
        $output = '<h2 class="element-invisible">' . t('You are here') . '</h2>';
        $output .= '<div class="breadcrumb">' . implode("<span class='separator'>&raquo;</span>", $breadcrumb) . '</div>';
        return $output;
    }
}