更改Drupal中显示的面包屑路径根

时间:2013-12-04 21:31:31

标签: php drupal-7 breadcrumbs

如何在某个点更改我的痕迹路径的显示根?

让我们说我的面包屑映射太阳系。我希望我的显示路径以 Solar System 开头,直到我到 USA ,此时我希望 USA 成为根。所以对于其他行星/大陆/国家我会有这样的踪迹:

  

太阳能系统>木星>大红色漩涡

     

太阳能系统>地球>澳大利亚>悉尼

     

太阳能系统>地球>北美>加拿大

但是一旦我到了 USA ,而不是像面包屑一样出现......

  

太阳能系统>地球>北美> USA

......我希望美国成为显示的根

  

USA

     

美国>俄亥俄州

     

美国>加利福尼亚>圣弗朗西斯科

任何人都知道如何实现这一点,无论是Drupal模块,Drupal技术还是我的template.php文件中的代码?

以下是php模板中创建面包屑的代码:

function cph_main_breadcrumb($variables) {

   $breadcrumb = $variables['breadcrumb'];
   $youAreHere = drupal_get_title();
   $crumbs = ' ';

   if (!empty($breadcrumb)) {
      $crumbs = '<ul>';
      foreach($breadcrumb as $value) {
         $crumbs .= '<li>' .$value.'</li>';
      }
      $crumbs .= '<li>' . $youAreHere . '<li></ul>';
   }
   return $crumbs;
}

1 个答案:

答案 0 :(得分:0)

function MYTHEME_breadcrumb($variables) {

   $breadcrumb = $variables['breadcrumb'];
   //dpm($breadcrumb);
   $youAreHere = drupal_get_title();
   $crumbs = ' ';

   if (!empty($breadcrumb)) {
      $crumbs = '<ul>';
      foreach($breadcrumb as $value) {
        // Add an if statement to check current item
        if($value == '<a href="/MY_PATH_TO_THIS_ITEM">USA</a>') {
          // Reset the list
          $crumbs = '<ul>';
        }
        $crumbs .= '<li>' .$value.'</li>';
      }
      $crumbs .= '<li>' . $youAreHere . '<li></ul>';
   }
   return $crumbs;
}
  • 如果当前面包屑值是“USA”的值重置面包屑并再次启动它。

  • 如果你想找到USA dpm()的当前项目,可以查找$ breadcrumb。请注意,如果稍后更改美国的链接,您还必须在此更改...