Bonjour,
j'essais de construire un menu hiérarchique avec une fonction recursive :
Lorsque je passe un array a ma méthode j'obtiens bien mon menu hiérarchique alors qu'avec un sfOutputEscaperArrayDecorator j'obtiens que le premier sous-menu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function afficher_menu($parent, $niveau, $array) { $html = ""; foreach ( $array as $noeud ) { if ($parent == $noeud->getIdParent()) { for($i = 0; $i < $niveau; $i ++) $html .= "-"; $html .= " " . $noeud->getLibelle(). "<br />"; $html .= afficher_menu ( $noeud->getId(), ($niveau + 1), $array ); } } return $html; }
Ex :
[(id=1;idParent=0;libelle=racine),(id=2;idParent=1;libelle=ss-menu1),(id=3;idParent=1;libelle=ss-menu2)]
Cas Array :
racine
- ss-menu1
- ss-menu2
Cas sfOutputEscaperArrayDecorator :
racine
- ss-menu1
Quelqu'un peut me dire ou est-ce que sa cloche.
Merci
Partager