Med koden ovan, kan jag hålla kontrollera hur många nivåer som "får" skrivas ut. Jag har nu en sajt där man _ska_ kunna lägga till x antal sidor, men endast dom 4 första nivåerna ska synas på en meny.
Har testat att ange. depth med i funktionen, men det som istället händer är att den skriver ut hela djupet på dom x första nivåerna och sen slutar den plötsligt. Måste alltså lägga in något i funktionen ovan som håller reda på hur många nivåer från root man är.
Förslag?
Emil WMedlem sedan mars 2009512 inlägg Edit:Råkade posta i fel tråd
Har en funktion som ser ut såhär:
function build_table($arr, $level = 0, $odd = 0) {
$list = "";
$level++;
foreach($arr as $key => $value){
$list .= "<tr class=\"fullwidth-content " .($odd%2 == 0 ? "row-odd" : "row-even") . "\">\n"
."<td colspan=\"9\" id=\"foo_" . $arr[$key]['id'] . "\" style=\"padding-left: " . ($level > 1 ? $level * 10 . "px" : "5px") . ";\">- " . $arr[$key]['name'] . "</td>\n"
."</tr>\n";
if(is_array($arr[$key]['child'])){
$list .= build_table($arr[$key]['child'], $level);
}
}
return $list;
}
Om jag nu vill ha en viss klass på varannan rad, hur gör jag? Fungerar inte en räknare, eftersom funktionen anropas rekursivt. Har testa med massa olika saker (räknare/bool--värden osv.) men får det inte alls att fungera.
Ingen som kan ge lite tips här? Just nu har jag en stor struktur men det blir svårläst, eftersom jag inte kan få varannan rad i en viss färg.
Knepigt det här..