Bonjour,
ça fait trois heure que je pense au problème et j'ai la tête qui a arrêté de tourner..
j'ai un tableau de la forme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 Array ( [2] => Array ( [Page] => Array ( [id] => 2 [parentid] => 0 [name] => About Page [urlval] => about [sort_order] => 0 ) [Parent] => Array ( [id] => [parentid] => [name] => [urlval] => [sort_order] => ) [childs] => Array ( [3] => Array ( [Page] => Array ( [id] => 3 [parentid] => 2 [name] => Why [urlval] => why [sort_order] => 0 ) [Parent] => Array ( [id] => 2 [parentid] => 0 [name] => About Page [urlval] => about [sort_order] => 0 ) [childs] => Array ( [6] => Array ( [Page] => Array ( [id] => 6 [parentid] => 3 [name] => Show Room [urlval] => showroom [sort_order] => 0 ) [Parent] => Array ( [id] => 3 [parentid] => 2 [name] => Why [urlval] => why [sort_order] => 0 ) ) ) ) ) ) [5] => Array ( [Page] => Array ( [id] => 5 [parentid] => 0 [name] => Contact Us [urlval] => contact [sort_order] => 0 ) [Parent] => Array ( [id] => [parentid] => [name] => [urlval] => [sort_order] => ) ) )
Pour afficher l'arbre entière j'utilise un truc du genre:
ça donne quelque chose comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 function expanded($current) { $this->_expanded($this->tree,$current); } function _expanded($tr,$current,$level = 0) { foreach($tr as $t) { echo str_repeat(' ',$level); if($t['Page']['urlval'] == $current) { echo $t['Page']['name']; } else { echo $this->Html->link($t['Page']['name'], "/mod/show/".$t['Page']['urlval'],null,false,true,true); } echo "<br/>"; if(isset($t['childs'])) { $this->_expanded($t['childs'],$current,$level + 1); } } }
About Page
-hello
-Why
--Show Room
Contact Us
maintenant, je veux afficher l'arbre mais de la forme collapsable:
c'est à dire si je suis à hello:
si je suis à contact us ça donneAbout Page
-hello
--Why
Contact Us
est ce que quelqu'un à une idée, une approche ? ou un code prêt que je pourais étudier ?About Page
Contact Us
Merci d'avance
Partager