Hallo,
ok, alles jetzt also erheblich einfacher. Schön, folgendes Array haben
wir in $menu gespeichert:
Array
(
[0] => Array
(
[typ] => singleitem
[url] => start
[title] => Start
[value] => Start
[parent] => 0
)
...
[2] => Array
(
[typ] => sublist
[id] => 1
[name] => nicht definiert
[parent] => 0
[value] => SvensWebserver
)
...
[5] => Array
(
[typ] => singleitem
[url] => http://intranet.[SERVER]
[title] => Der (Intranet)server ist zugriffsgeschützt
[value] => SvensWebserver besuchen
[parent] => 1
)
[6] => Array
(
[typ] => singleitem
[url] => toc
[title] => Was gibt's auf diesem Server zu sehen?
[value] => Inhalt auf diesem Server
[parent] => 0
)
....
)
Die meisten Inhalte des Arrays sind egal, es geht jetzt lediglich um
[typ] und [parent]. Mit dem ganzen wird jetzt folgende Funktion ge-
füttert, die ich jetzt mit ein paar Comments bestückt habe, die das
Problem verdeutlichen:
print menu_format(0);
function menu_format($parent)
{
global $menu;
$r = '';
print 'menu_format aufgerufen<br>';
foreach($menu as $item)
{
if($item['parent'] != $parent)
{
print "Keine Parent-Zustimmung: Content: $item[value]. Parent: $item[parent]. Parent sollte sein: $parent<br>";
continue;
}
else
{
print "Parent-Zustimmung: $parent muss sein und ist $item[parent]. Content: $item[value]<br>";
}
if($item['typ'] == 'singleitem')
$r .= menu_format_singleitem($item['url'], $item['title'], $item['value']);
elseif($item['typ'] == 'sublist')
{
print "SUBMENU FOUND: [Parent jetzt noch $parent]<br>";
$submenu = menu_format($item['id']);
print "SUBMENU created<br>";
$r .= menu_format_subitem($item['value'], $submenu);
print "SUBMENU written [Parent jetzt $parent]<br>";
continue;
}
else
print "<p><b>Fehler:</b> Typ nicht feststellbar (system.php:menu_format()): $item[typ]</p>";
}
return $r;
}
jetzt schauen wir uns mal diese "Comments", die überall in dieser
Funktion sind (print "...";) an:
menu_format aufgerufen
Parent-Zustimmung: 0 muss sein und ist 0. Content: Start
Parent-Zustimmung: 0 muss sein und ist 0. Content: ...online?
Parent-Zustimmung: 0 muss sein und ist 0. Content: SvensWebserver
SUBMENU FOUND: [Parent jetzt noch 0]
menu_format aufgerufen
Keine Parent-Zustimmung: Content: Start. Parent: 0. Parent sollte sein: 1
Keine Parent-Zustimmung: Content: ...online?. Parent: 0. Parent sollte sein: 1
Keine Parent-Zustimmung: Content: SvensWebserver. Parent: 0. Parent sollte sein: 1
Parent-Zustimmung: 1 muss sein und ist 1. Content: Das besondere i...
Parent-Zustimmung: 1 muss sein und ist 1. Content: SvensWebserver grob betrachtet
Parent-Zustimmung: 1 muss sein und ist 1. Content: SvensWebserver besuchen
Keine Parent-Zustimmung: Content: Inhalt auf diesem Server. Parent: 0. Parent sollte sein: 1
Keine Parent-Zustimmung: Content: Zugangspasswort anfordern. Parent: 0. Parent sollte sein: 1
Keine Parent-Zustimmung: Content: [TEMPLATE-SPECIALCONTENT:VALIDATE-XHTML]. Parent: 0. Parent sollte sein: 1
Keine Parent-Zustimmung: Content: [TEMPLATE-SPECIALCONTENT:VALIDATE-CSS]. Parent: 0. Parent sollte sein: 1
SUBMENU created
SUBMENU written [Parent jetzt 0]
Und hier hört es schlagartig auf, obwohl das Array noch eine ganze
Menge weiterer Elemente hat, die von der Schleife ___nicht___ mehr
durchlaufen werden.
was ist der Grund?
Gruß,
Sven