Bonjour à tous,
Je fais un site multilangue et pour le menu, j'ai pensé utiliser le xml.
Voilà, j'en suis à la génération du menu mais j'ai des difficultés de logique de boucle et surement de syntaxe (c'est tout nouveau pour moi cette manipulation).
Voici mon XML
Et voici mon début de php
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<?xml version="1.0" encoding="utf-8"?> <menu> <niveau1> <titre>Home</titre> <link>home</link> </niveau1> <niveau1> <titre>Our people</titre> <link>our-people</link> </niveau1> <niveau1> <titre>Our services</titre> <link>our-services</link> <niveau2> <titre>Leadership</titre> <link>leadership</link> </niveau2> <niveau2> <titre>Coaching</titre> <link>coaching</link> </niveau2> <niveau2> <titre>Mentoring</titre> <link>mentoring</link> </niveau2> </niveau1> <niveau1> <titre>Join our team</titre> <link>join-our-team</link> </niveau1> <niveau1> <titre>Core values & code of Ethics</titre> <link>core-values-code-of-ethics</link> <niveau2> <titre>Item 1</titre> <link>item-1</link> </niveau2> <niveau2> <titre>Item 2</titre> <link>item-2</link> <niveau3> <titre>Sub Item 1</titre> <link>sub-item-1</link> </niveau3> </niveau2> </niveau1> <niveau1> <titre>Contact</titre> <link>contact</link> </niveau1> </menu>
J'affiche bien le niveau1 mais pas niveau2.
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 $menu = simplexml_load_file('menu.xml'); echo '<ul>'; foreach ($menu->niveau1 as $link){ echo '<li>'; echo '<a href="'.$link->link.'" class="info">'.$link->titre.'</a>'; if($menu->niveau2){ echo '<ul>'; foreach ($menu->niveau2 as $link2){ echo '<li>'; echo '<a href="'.$link2->link.'" class="info">'.$link2->titre.'</a>'; echo '</li>'; } echo '</ul>'; } echo '</li>'; } echo '</ul>';
Quelqu'un aurait une idée de boucle.
Merci d'avance
Partager