1

嘿伙计们,我正在研究一个非常简单的面包屑路径解决方案,但是我有一件小事让我很烦恼。

PATH 是例如文件夹/子文件夹/子子文件夹我只是在拆分 PATH 并创建指向它的链接。真的很简单。

// 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>";
}

但是唯一让我烦恼的是面包屑路径看起来像这样:

文件夹 > 子文件夹 > 子子文件夹 >

你能看到最后的 > 吗?即使那里没有另一个子子文件夹,我也得到了这个 > 箭头。当然它目前是这样设置的,但是我想不出一个简单的解决方案来摆脱最后一个箭头。

感谢您的帮助

4

2 回答 2

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>";
}

还要尝试为变量使用更具暗示性的名称。

于 2010-10-21T07:45:56.077 回答
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>";
}
于 2010-10-21T07:45:49.430 回答