Bonsoir,
Mon menu utilise bootstrap avec une fonction récursive et donc les sous menu ne s'affiche pas. Voici donc ma fonction récursive
<?php
function generate_menu($parent)
{
$has_childs = false;
$html = "";
global $menuItems;
global $parentMenuIds;
foreach($menuItems as $key => $value)
{
if ($value['id_parent'] == $parent)
{
if ($has_childs === false)
{
$has_childs = true;
if($parent != 0)
{
$html .= '<ul class="dropdown-menu">';
}
}
if($value['id_parent'] == 0 && in_array($value['id'], $parentMenuIds))
{
$html .= '<li class="dropdown"><a class="dropdown-toggle" href="#">' . $value['name'] . '</a>';
}
else if($value['id_parent'] != 0 && in_array($value['id'], $parentMenuIds))
{
$html .= '<li class="dropdown-submenu"><a href="#">' . $value['name'] . '</a>';
}
else
{
$html .= '<li><a href="#">' . $value['name'] . '</a>';
}
generate_menu($value['id']);
$html .= '</li>';
}
}
if ($has_childs === true) $html .= '</ul>';
return $html;
}
?>
J'ai donc fait un
print_r de mon $value de mon foreach et voici mon tableau
Code : Tout sélectionner
Array
(
[id] => 1
[id_parent] => 0
[name] => Accueil
[tip] =>
[position] => 1
[active] => 1
)
Array
(
[id] => 2
[id_parent] => 0
[name] => Hebergement
[tip] =>
[position] => 1
[active] => 1
)
Array
(
[id] => 3
[id_parent] => 2
[name] => Pack light
[tip] => tip
[position] => 1
[active] => 1
)
Array
(
[id] => 4
[id_parent] => 2
[name] => Pack emeraude
[tip] => tip-dark
[position] => 2
[active] => 1
)
Array
(
[id] => 5
[id_parent] => 2
[name] => Pack rubis
[tip] =>
[position] => 3
[active] => 1
)
Array
(
[id] => 6
[id_parent] => 0
[name] => Script PHP
[tip] =>
[position] => 1
[active] => 1
)
Array
(
[id] => 7
[id_parent] => 6
[name] => Radio shoucast
[tip] =>
[position] => 1
[active] => 1
)
Array
(
[id] => 8
[id_parent] => 7
[name] => Support technique
[tip] =>
[position] => 1
[active] => 1
)
Array
(
[id] => 9
[id_parent] => 8
[name] => Acheter ce script
[tip] =>
[position] => 1
[active] => 1
)
Mon code html généré devrais ressembler a ceci
<li>
<a class="dropdown-toggle" href="#">Accueil</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle" href="#">
Hébergement
</a>
<ul class="dropdown-menu">
<a href="#">Pack light</a>
<a href="#">Pack emeraude</a>
<a href="#">Pack rubis</a>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" href="#">Script PHP</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#">Radio shoucast</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#">Support technique</a>
<ul class="dropdown-menu">
<li><a href="index-classic.html">Acheter ce script</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
Et donc ma fonction récursive me renvoie ceci sans les sous menus
<li>
<a href="#">Accueil</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle" href="#">Hebergement</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle" href="#">Script PHP</a>
</li>
Merci pour vos futurs réponses, en ésperant m'avoir bien expliquer sur mon problème.
Cordialement