Bonjour à tous,
Tout d'abord voici l'architecture du site :
****************************
* HEADER *
****************************
* Menu de navigation *
****************************
* *
* Contenu via include() *
* *
****************************
* FOOTER *
****************************
Donc vous l'aurez compris, c'est un squelette "classique" avec un header et juste en dessous un menu horizontal, le tout en bruit dans un index.php
Ensuite vient mon contenu via include.
Puis le footer toujours en bruit dans l'index.php.
J'essaye de resortir l'onglet du menu qui est en cours d'utilisation mais pour celà il faut que prenne l'url.
Pour ce faire, j'ai utilisé le script php suivant, qui va me créer mon menu de manière dynamique, et qui en profite pour récupérer l'url afin de réaliser un test pour trouvé l'onglet actif :
Hors la gestion de l'onglet en cours ne fonctionne pas. Ma classé "onglet_courant" fonctionne parfaitement lorsque je l'applique directement sur un menu statique.
Concernant le lien, que j'utilise : "index.php?file=admin" ou "?file=admin" aucune différence.
Le problème vient selon moi de ce bout de code :
En effet le paramètre 'basename' de pathinfo sert à me récupérer le nom du fichier qui est dans l'url du type : fichier.php
Or vu que c'est des liens "query" qui me servent à afficher mes inclues, c'est cette partie "query" (la partie "?file=admin") qu'il faut que je récupère.
Donc si je me trompe pas il faut que j'utilise la fonctione "parse_url" avec le paramètre 'query', mais j'ai du mal m'y prendre ça ne fonctionne.
parse_url, les infos sont ici -> http://www.php.net/manual/fr/function.parse-url.php
J'ai besoin d'un ptit coup de main.
Merci d'avance
Modifié par ghjuvan-batti (22 Oct 2010 - 23:41)
Tout d'abord voici l'architecture du site :
****************************
* HEADER *
****************************
* Menu de navigation *
****************************
* *
* Contenu via include() *
* *
****************************
* FOOTER *
****************************
Donc vous l'aurez compris, c'est un squelette "classique" avec un header et juste en dessous un menu horizontal, le tout en bruit dans un index.php
Ensuite vient mon contenu via include.
Puis le footer toujours en bruit dans l'index.php.
J'essaye de resortir l'onglet du menu qui est en cours d'utilisation mais pour celà il faut que prenne l'url.
Pour ce faire, j'ai utilisé le script php suivant, qui va me créer mon menu de manière dynamique, et qui en profite pour récupérer l'url afin de réaliser un test pour trouvé l'onglet actif :
// tableaux contenant les liens d'accès et le texte à afficher
$tab_menu_lien = array( "?file=accueil", "?file=admin", "", "", "", "" );
$tab_menu_texte = array( "Accueil", "Admin", "A propos", "Portfolio", "Inscription", "Connexion" );
// informations sur la page
$info = pathinfo($_SERVER['PHP_SELF']);
$menu = "\n<ul id=\"menu_horizontal\">\n";
// boucle qui parcours les deux tableaux
foreach($tab_menu_lien as $cle=>$lien)
{
$menu .= " <li";
// si le nom du fichier correspond à celui pointé par l'indice, alors on l'active
if( $info['basename'] == $lien ){
$menu .= " class=\"onglet_courant\"";}
$menu .= "><a href=\"" . $lien . "\">" . $tab_menu_texte[$cle] . "</a></li>\n";
}
$menu .= "</ul>";
echo $menu;
Hors la gestion de l'onglet en cours ne fonctionne pas. Ma classé "onglet_courant" fonctionne parfaitement lorsque je l'applique directement sur un menu statique.
Concernant le lien, que j'utilise : "index.php?file=admin" ou "?file=admin" aucune différence.
Le problème vient selon moi de ce bout de code :
if( $info['basename'] == $lien )
En effet le paramètre 'basename' de pathinfo sert à me récupérer le nom du fichier qui est dans l'url du type : fichier.php
Or vu que c'est des liens "query" qui me servent à afficher mes inclues, c'est cette partie "query" (la partie "?file=admin") qu'il faut que je récupère.
Donc si je me trompe pas il faut que j'utilise la fonctione "parse_url" avec le paramètre 'query', mais j'ai du mal m'y prendre ça ne fonctionne.
parse_url, les infos sont ici -> http://www.php.net/manual/fr/function.parse-url.php
J'ai besoin d'un ptit coup de main.
Merci d'avance

Modifié par ghjuvan-batti (22 Oct 2010 - 23:41)