【问题标题】:php: simple breadcrumb solution?php:简单的面包屑解决方案?
【发布时间】:2010-10-21 16:11:41
【问题描述】:

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

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

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

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

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

感谢您的帮助

【问题讨论】:

    标签: php breadcrumbs


    【解决方案1】:

    给你:

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

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

    【讨论】:

    • 非常感谢。以及如何取消最后一项的链接。所以现在我有“文件夹>子文件夹>子子文件夹”并且所有三个项目都是链接的。是否可以取消链接最后一个项目?因为链接最后一个项目没有意义,它只是链接到自身!
    • 查看编辑。只需与 $crumb 数组的长度进行比较即可查看它是哪个项目。 count($crumb) 是您在 PHP 中获取数组长度的方式。
    【解决方案2】:

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

    // 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-09-05
      • 2011-02-05
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      相关资源
      最近更新 更多