Witajcie, męczę się z wygenerowaniem menu z danych Json, ale coś średnio mi idzie.
[{"name":"Strona główna","urlid":1,"children":[{"name":"Kontakt","urlid":5,"children":[{"name":"Mapa","urlid":6}]}]}]
function render_menu($menuArray, $r='') {
if (!isset($r)) $r='';
foreach ($menuArray as $node)
{
$r.='<li><a href="#" />'.$node['name'].'</a>';
if (!empty($node['children'])) {
$r.='<ul>';
$r.=render_menu($node['children'], $r);
$r.='</ul>';
}
$r.='</li>';
}
return $r;
}
Niestety wynik, który dostaję to:
<li>
<a href="#" />Strona główna</a>
<ul>
<li>
<a href="#" />Strona główna</a>
<ul>
<li>
<a href="#" />Kontakt</a>
<ul>
<li>
<a href="#" />Strona główna</a>
<ul>
<li>
<a href="#" />Kontakt</a>
<ul>
<li><a href="#" />Mapa</a></li>
</ul>
</li>
</ul>
</li>
Podpowiecie w jaki sposób naprawić funkcję render_menu() tak aby wyszło menu o strukturze?
Strona główna
-- Kontakt
-- -- Mapa