J'ai essayé de construire une navigation enfant/parent pendant un petit moment maintenant en utilisant PHP (je suis d'un fond de .net) et je ne peux pas me rapprocher des résultats souhaités. Je charge mes données à partir d'un fichier XML en utilisant SimpleXML
avec succès, mais j'essaie de trouver comment je peux mapper cela en tableaux ou en variables afin que je puisse l'écrire.Comment convertir XML en un menu HTML hiérarchique?
<Categories>
<Category>
<ID>1</ID>
<Title>Days</Title>
<Description />
<ParentID />
<Meta />
</Category>
<Category>
<ID>2</ID>
<Title>Monday</Title>
<Description />
<ParentID>1</ParentID>
<Meta />
</Category>
<Category>
<ID>3</ID>
<Title>Tuesday</Title>
<Description />
<ParentID>1</ParentID>
<Meta />
</Category>
<Category>
<ID>4</ID>
<Title>Wednesday</Title>
<Description />
<ParentID>1</ParentID>
<Meta />
</Category>
<Category>
<ID>5</ID>
<Title>Thursday</Title>
<Description />
<ParentID>1</ParentID>
<Meta />
</Category>
<Category>
<ID>6</ID>
<Title>Friday</Title>
<Description />
<ParentID>1</ParentID>
<Meta />
</Category>
<Category>
<ID>7</ID>
<Title>Saturday</Title>
<Description />
<ParentID/>
<Meta />
</Category>
<Category>
<ID>8</ID>
<Title>Sunday</Title>
<Description />
<ParentID/>
<Meta />
</Category>
</Categories>
foreach($categories as $category) {
if ($category->ParentID != "")
{
echo "<li><a href=index.php?Cat=$category->ID>$category->Title</a></li>";
echo "<ul>";
foreach($categories as $subcategory) {
if ($subcategory->ParentID == $category->ID)
{
echo "<li><a href=index.php?Cat=$subcategory->ID>$subcategory->Title</a></li>";
}
}
echo "</ul>";
}
else
{
echo "<li><a href=index.php?Cat=$category->ID>$category->Title</a></li>";
}
}
echo "</ul>";
donc ma sortie désirée serait quelque chose comme ceci:
<ul id="p7menubar">
<li><a class="trigger" href="#">Days</a>
<ul>
<li><a href="#">Monday</a></li>
<li><a href="#">Tuesday</a></li>
<li><a href="#">Wednesday</a></li>
<li><a href="#">Thursday</a></li>
<li><a href="#">Friday</a></li>
</ul>
</li>
<li><a href="index.htm">Saturday</a></li>
<li><a href="index.htm">Sunday</a></li>
</ul>
Bonjour Unix Man. Il existe trois solutions personnalisées à cette vieille question, et elles ne semblent pas avoir attiré votre attention, vos commentaires, vos votes ou vos acceptations depuis sept ans. Seriez-vous capable de rectifier cela lors de votre prochaine connexion s'il vous plaît? – halfer