|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Raphaël DeschlerInscription : mai 2007 Messages : 166 ![]() |
Bonjour à tous,
Je travaille sur la création d'un CMS multilingue pour une société (j'y suis stagiaire). Je butte actuellement sur une question de menu. Les rubriques composants les menus sont enregistrés dans ma BDD (mysql). Le menu que je dois créer est un menu déroulant sur 3étages : ONGLET => menu déroulant 1 au passage sur l'onglet => menu déroulant 2 sur certains liens du déroulant 1. Ainsi dans ma bdd, j'ai pour une rubrique parents trois attributs pour gérer ceci : 1) ordre, qui est un INT qui va me dire la position 2) Parent, c'est l'identifiant de la rubrique parente 3) arborescence, de la forme x-y-z (où x,y et z sont des chiffres) Imaginons que Mon premier onglet ait un déroulant 1 à 3 lien et que le lien numéro 2 ait un déroulant à 2 liens, cela se noterait ainsi : Onglet (1-0-0 signifie onglet 1) |--> rubrique 1 (notée 1-1-0, elle est fille de l'onglet 1 (premier chiffre) et placée en position 1 (2e chiffre) |--> rubrique 2 (notée 1-2-0) |------> sous rubrique 1 (notée 1-2-1) |------> sous rubrique 2 (notée 1-2-2) |--> rubrique 3 (notée 1-3-0) | onglet 2 (noté 2-0-0) .... Pour gérer ceci, je suis en train de faire une classe php5... J'ai donc une fonction qui me trie mes rubriques dans trois tableaux : - onglet si de la forme x-0-0 - menu si de la forme x-y-0 - sous menu si de la forme x-y-z J'ai une deuxieme fonction qui détermine si deux rubriques sont parentes... Et ensuite, je calle... Voici à peu près sur quoi je voudrais tomber en html : Code HTML :
Et voici les fonctions de ma classe menu.class.php Code :
Si quelqu'un a une solution. Je sais que je vais devoir faire quelque chose de récurssif... mais je ne sais pas quoi. Je voyais un truc du genre tant que j'ai des onglets dans mon tableau d'onglet 1) je verifie si menu[0] est parent de onglet[0] 2) si oui, j'écris mon bout de html (ou je le stock) 3) sinon, je passe à menu[1] 4) si menu[1] est parent de onglet[1], j'écris 5) je verifie si sousmenu[0] est parent de menu[1] 6) si oui, j'écris 7) sinon je passe à sousmenu[1].... 8) et je passe ensuite à onglet[1] Mais, voilà, n'est-ce pas trop lourd niveau exécution ? N'y a-t-il pas plus simple ? Merci de vos aides... ceic est mon premier post sur ce forum ^^ désolé si je ne respecte pas certaines règles |
||||
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() Raphaël DeschlerInscription : mai 2007 Messages : 166 ![]() |
Et bien, rien que le fait d'avoir détaillé ici les étapes qu'il faudrait que je fasse m'a éclairci la route...
Je viens de finir et le résultat marche. Voici donc le code final Code :
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com