Bonjour,

j'essais de construire un menu hiérarchique avec une fonction recursive :

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;
}
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.

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