2010-10-21 77 views
1

嘿家伙, 我正在研究一个非常简单的面包屑路径解决方案,但是我有一个小东西,那种错误我。php:简单的面包屑解决方案?

PATH是例如文件夹/子文件夹/子文件夹 我只是分开PATH,我正在创建它的链接。真的是simpel。

// breadcrumb path 
$crumb = explode("/", PATH); 
if (PATH != 'root' && realpath(PATH)) { 
    print "<div class='breadcrumbs'>"; 
    $newpath = ''; 
    foreach($crumb as $value) { 
     $newpath .= $value; 
     print "<a href='" . QUERY . $newpath ."'>$value</a> &gt; "; 
     $newpath .= '/'; 
    } 
    print "</div>"; 
} 

不过这错误我是导航的路径是这样的嘛:

文件夹>子文件夹> subsubfolder>

可以看到>末。即使没有另一个sububsubfolder那里我得到这个>箭头。当然这是目前设置的方式,但我想不出一个简单的解决方案来摆脱最后一个箭头。

感谢你的帮助

回答

2

在这里你去:

// breadcrumb path 
$crumb = explode("/", PATH); 
if (PATH != 'root' && realpath(PATH)) { 
    print "<div class='breadcrumbs'>"; 
    $newpath = ''; 
    foreach($crumb as $index => $value) { 
     $newpath .= $value; 
     // is not last item // 
     if($index < count($crumb)-1) 
      print "<a href='" . QUERY . $newpath ."'>$value</a> &gt; "; 
     // it is last item // 
     else 
      print $value; 
     $newpath .= '/'; 
    } 
    print "</div>"; 
} 

也可尝试使用更多的暗示名字你变量。

+0

非常感谢。以及如何取消最后一项链接。所以现在我有“文件夹>子文件夹> subsubfolder”和所有三个项目都链接。是否有可能取消最后一项的链接?因为将最后一个项目链接起来没有意义,所以它只是链接到它自己! – matt 2010-10-21 08:07:00

+0

查看修改。只需比较'$ crumb'数组的长度即可查看它是哪个项目。 'count($ crumb)'是你如何在PHP中获得数组的长度。 – 2010-10-21 08:14:10

0

更改您的代码(未测试!):

// breadcrumb path 
$crumb = explode("/", PATH); 
if (PATH != 'root' && realpath(PATH)) { 
    print "<div class='breadcrumbs'>"; 
    $newpath = ''; 
    foreach($crumb as $key=>$value) { 
     $newpath .= $value; 
     print "<a href='" . QUERY . $newpath ."'>$value</a>"; 
     if($key!= (count($crumb)-1))print "&gt; " 
     $newpath .= '/'; 
    } 
    print "</div>"; 
}