1

やあみんな、私は非常に単純なブレッドクラムパスソリューションに取り組んでいます、しかし私はその種の私を悩ませている小さなものが1つあります。

PATHは、たとえばfolder / subfolder / subsubfolderです。単に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 に答える