2010-10-21 24 views
1

hey les gars, Je travaille sur une solution très simple fil d'Ariane, mais j'ai une petite chose ce genre de bugs moi.php: solution de fil d'Ariane simple?

PATH est par ex. folder/subfolder/subsubfolder Je divise simplement le PATH et je crée des liens vers celui-ci. vraiment 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>"; 
} 

mais la seule chose qui me dérange est que le fil d'Ariane ressemble à ceci:

dossier

> sous-dossier> subsubfolder>

pouvez-vous voir le> à la fin. même s'il n'y a pas d'autre sous-sous-dossier, je reçois cette flèche. bien sûr, il est actuellement défini de cette façon, mais je ne peux pas penser à une solution facile pour se débarrasser de la dernière flèche.

merci pour votre aide

Répondre

2

Ici, vous allez:

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

Essayez également d'utiliser des noms plus évocateurs pour votre variables

+0

merci beaucoup. et que diriez-vous de dissocier le dernier article aussi bien. alors maintenant j'ai "dossier> sous-dossier> subsubfolder" et tous les trois éléments sont liés. est-il possible de dissocier le dernier élément? parce que cela n'a pas de sens d'avoir le dernier élément lié, il se lie simplement à lui-même! – matt

+0

Voir la modification. Comparez simplement avec la longueur du tableau '$ crumb' pour voir de quel article il s'agit. 'count ($ crumb)' étant la façon dont vous obtenez la longueur d'un tableau en PHP. –

0

Changer votre code (non testé!):

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