Thread do { $parent--; }while( $parent >= 0 ): geht nicht bei 0
(12 answers)
Opened by pktm at 2004-01-11 20:25
[quote=kabel,11.01.2004, 21:01]kabel@kabel:~$ perl
$parent = 0; do { $parent--; print "dec\n"; } while( $parent >= 0 ) # do dec kabel@kabel:~$[/quote] Hm, einegtlich wollte ich mir den Post sparen weil es so unsinnig umfangreich ist aber - der Fehler muss dann wohl irgendwo IN der Schleife liegen. Und los: Also ich habe da ein CMS-Administrationsscript wo man bis jetzt neue Seiten in ein CMS einfügen kann. Da ich die Navigation des CMS mehrstufig machen wollte, also so, dass sich die Navigation bei einer angeklickten Seite aufklappt und die dem Menupunkt zugeordneten Seiten anzeigt werden wird die Sache etwas komplizierter. Die Sache ist so vorzustellen: Man hat 3 Menupunkte, A B & C. Unter B sollen jetzt aber auch noch die Seiten 1. 2. & 3. untergeordnet werden. Wenn dann B angeklickt wird sollen 1. 2. und 3. angezeigt werden. Man kann auch einstellen, ob eine Seite angezeigt wird. Die Navigationen die bei jeder Seite angezeigt werden sollen werden in der DB hinterlegt (komplett, ich weis, ist unschön, jedoch dauert das Erstellen der Navs sonst zu lange). Die nachfolgende Sub aktualisiert nun alle Navs vom untersten Menupunkt aufsteigend duch alle Ebenen, wenn eine neue Seite angelegt wird. Also wenn man jetz folgende Struktur hat... ...dann fängt die Sub bei A.3.II an und arbeitet sich durch die ganze DB. Das hat damit etwas zu tun, dass später Seiten unter mehrere Menupunkte eingetragen werden können sollen (richtig?) und so alle betroffenen Navs geändert werden müssen. Das durcharbeiten funktioniert so: Man fängt bei der untersten Ebene der Seiten an und guckt, welche Seiten noch unter den Punkt untergeordnet werden sollen, dem die aktuelle Seite untergeordnet wird. Also beim Beispiel, wenn der Punkt A.3.II angelegt würde würde die Sub im ersten Durchlauf (ich weis, es ist die Schleife...) die Navs für A.3.II & A.3.I erstellen / aktualisieren. Dann ginge es weiter zu A.3 wo dann die Navs von A.3, A.2 & A.1 geändert würden. Jetzt mein Problem: Kommt man in der obertsen Ebene an soll die Navigation für diese natürlich auch geändert werden (könnte ja sein, dass man z.B. Seite D hinzugefügt hat). Nur werden für die oberste Ebene die Navigationen nicht erstellt. Das muss irgendwie and er Logik in der Schleife do { $parent--; }while( $parent >= 0 ) # do liegen. Ich habe aber noch nicht raus wieso. Code: (dl
)
1 sub erstelle_navs { http://www.intergastro-service.de (mein erstes CMS :) )
|