Page 1 sur 1

Quick Nav dynamique dans une page dynamique

Posté : 05 mars 2010, 16:16
par visualight
Bonjour,

Je rencontre actuellement un problème de navigation sur mon site et je désirerai mettre un système "quick nav" pour résoudre mon problème.

Le problème que je rencontre est lié à la fabrication de se "quicknav". En effet, mes pages se chargent dynamiquement par rapport à une id donnée.
(exemple = index.php?id=1, index.php?id=2, ...)
Les requêtes sql et code php sont donc identiques pour chaques pages que je charge. Juste les données changent.


Le système QuickNav que je tente de mettre au point, se décrit simplement comme ceci (avec un lien vers la page correspondante pour chaques items) :

Code : Tout sélectionner

quick nav : titrepage_ID1 / titrepage_ID2 / titrepage_ID3 ...
Le truc en plus c'est que le quicknav doit être dynamique ... c'est à dire que les éléments composants le quicknav doivent se marquer uniquement quand je suis sur la page en question ... Les éléments (liens + titre) doivent donc s'ajouter ou s'effacer selon la page sur laquelle je suis.
(je sais c'est pas clair mais un exemple vous aidera à comprendre)

EXEMPLE :

1. Je me logue en tant qu'admin
Dans admin, j'ai des liens qui renvoient vers d'autres pages (exemple : lien = index.php?id=2, ...).
Dans mon quickNav, et AVANT de cliquer sur un lien d'une autre page, je vois donc Administrateur qui se marque (c'est le titre de la page).

2. Toujours dans admin, je clique sur un lien qui ouvre une page (index.php?id=3 - titre de la page = page test).
Mon QuickNav dois désormais afficher : Administrateur / page test

3. C'est là que ca se complique ... dans chaques pages, il peut y avoir des sous pages !
Donc si je clique (dans la page : page test) sur un autre lien renvoyant vers une autre page (page test 2), le quickNav doit afficher :
Administrateur / page test / page test2 (Le nom de chaque éléments composant le QuickNav est le titre des pages.)

Et ainsi de suite pour chaques sous pages ...
Le quickNav peut ainsi afficher le titre de chacunes des pages sur lesquelles on est allé et il est ordonné par : page / sous-page

Il peut devenir donc : Administrateur / page test / page test2 / page test3 / page test4, ....
(page test4 est une sous page de page test3 et ainsi de suite)

Vous comprenez ?


MON problème ... comment faire, étant donné que les requetes SQL et code PHP sont les mêmes pour chaque page (seul les données changent), pour faire en sorte de "retenir" le titre des pages sur lesquelles on est allé et afficher dynamiquement le quickNav (en les ordonnants : page / souspage / soussouspage / ... ) ?

Je ne comprend pas comment procéder.

Merci pour vos réponses,
raph

Re: Quick Nav dynamique dans une page dynamique

Posté : 05 mars 2010, 17:18
par visualight
Salut,

J'ai en partie résolu mon problème en travaillant avec un array en Session.
Mais j'ai un autre problème que je n'arrive pas à résoudre c'est de savoir comment supprimer un/plusieurs élément(s) d'un array tout en conservant d'autres éléments dans ce même array. En fait tout ce qui est après un élément de l'array défini doit disparaitre.

Je m'explique :

1. Je me logue en tant qu'admin
Mon quickNav marque : Administrateur

2. Je clique sur un lien (dans la page admin) qui renvoie vers une autre page (titre = page test).
Mon QuickNav affiche désormais : Administrateur / page test

3. Dans la page test, je clique sur un autre liens (page test2)
Mon QuickNav affiche désormais : Administrateur / page test / page test2

4. Je suis sur la page : page test 2. Je dirige le pointeur de ma souris vers le quickNav et je clique sur le lien: page test.
Ce que je dois pouvoir faire, c'est supprimer de l'array la page : page test2

ATTENDS .. C'est pas fini !

Imaginons maintenant que je suis toujours sur la page : page test 2.
==> Le quickNav affiche donc : Administrateur / page test / page test 2
Si maintenant, je déplace le pointeur de ma souris sur le quickNav et que je clique sur Administrateur, les éléments : page test et page test2 doivent être aussi supprimé de l'array.

Voilà pour le principe ... et c'est valable si j'ai par exemple 30 pages dans mon quickNav ...


Si mon QuickNav affiche : Administrateur / page test / page test 2 / page test 3 / page test 4
Mon array en session se décompose comme suit :
Array ( 
[0] => Array ( [0] => Administrateur [1] => 1 )
[1] => Array ( [0] => page test [1] => 8 )
[2] => Array ( [0] => page test 2 [1] => 2 )
[2] => Array ( [0] => page test 3 [1] => 3 )
[2] => Array ( [0] => page test 4 [1] => 4 )
 ) 
L'élément à la fin de chaque array (le chiffre) sert à enregistrer l'ID de la page

Je me doute que ce n'est certainement pas très compliqué mais je vois pas comment faire pour supprimer chaque fois le(s) dernier(s) éléments d'un array...


Voici le code que j'utilise pour créer dynamiquement mon array en session :
if (!isset ($_SESSION ['quicknav'])){
			 $_SESSION ['quicknav'] = array();
			 echo 'array créé<br />';
			}
			 
			 if (empty ($_SESSION ['quicknav'])) {
			 array_push($_SESSION ['quicknav'], array($title, $galid));
			 echo 'titre inséré car array empty<br />';
			 }
			 
			 if (!in_array (array ($title, $galid), $_SESSION ['quicknav'])) {
			 array_push($_SESSION ['quicknav'], array($title, $galid));
			 echo 'titre inséré en plus';
			 }

Merci pour votre aide,

Re: Quick Nav dynamique dans une page dynamique

Posté : 06 mars 2010, 18:18
par visualight
Navigation Dynamique dans page dynamique dans un array dynamique

Sujet Clos , les réponses se trouvent en partie ICI
et là : post317553.html#p317553

Merci,
a+