Sven: Menü wird abgeschnitten

Beitrag lesen

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