Depuis quelques jours je suis confronté à un petit soucis. J'essaye de générer dynamiquement une barre de navigation en fonction des paramètres passés dans l'url. De sorte que :
l'adresse racine/machin/truc/bidule/chouette
me retourne :
racine -> machin -> truc -> bidule -> chouette
Jusqu'ici pas de soucis, le soucis c'est pour les liens, je n'arrive pas à faire en sorte que les urls se fassent de cette façon :
- racine -> ./
- machin -> ./machin
- truc => ./machin/truc
- bidule -> ./machin/truc/bidule
- etc
Voici mon code, pour information je travaille sous codeIgniter :
public function page_navigation($my_title = '')
{
// Sur l'accueil, pas de navigation
if( $this->CI->uri->total_segments() === 0 )
{
return NULL;
}
// On récupère tous les segments de la barre d'adresse
$count = 1;
$segments = $this->CI->uri->segment_array();
// Début de la navigation
$url = '<li><span class="glyphicon glyphicon-home"></span> <a href="' . site_url() . '">Accueil</a></li>';
foreach( $segments as $segment )
{
if( $count === $this->CI->uri->total_segments() )
{
if( !empty($my_title) )
{
$url .= '<li class="active">' . $my_title . '</li>';
}
else
{
if( is_numeric($segment) )
{
$url .= '<li class="active">Elément n°' . $segment . '</li>';
}
else
{
$url .= '<li class="active">' . humanize_nav($segment) . '</li>';
}
}
}
else
{
$href = base_url();
for( $i = 1; $i < $this->CI->uri->total_segments(); $i ++ )
{
$link .= $this->CI->uri->segment($i) . '/';
}
$url .= '<li><a href="' . $href . '">' . humanize_nav($segment) . '</a></li>';
}
$count++;
}
return '<div class="container">
<ol class="breadcrumb">
' . $url . '
</ol>
</div>';
}
Merci par avance