Child Of-Navigation
am 23.09.2005 12:07:21 von Jochen
Hallo zusammen,
ich will eine Navigation mit Child-Of-Elementen machen:
Menue1 (id1)
Menue2 (id2)
Untermenue1 (id3, child of-id2)
Untermenue2 (id4, child of-id2)
Menue3 (id5)
Menue4 (id6)
Untermenue3 (id7, child of-id6)
Unteruntermenue1 (id8, child of-id7)
Menue5 (id9)
usw...
Nun will ich die Navigation anzeigen lassen. Dafür brauch ich eine
rekursive Funktion. Soweit ists klar.
Das Problem ist noch, dass ich nicht "von oben" anfangen kann, also
nicht die Menuepunkte anzeigen und dann alle Unternmenuepunkte, sondern
mein Startwert ist irgendwo tief in der Struktur. Mein Startwert ist
also nicht der Stamm sondern das Blatt.
In meinem Beispiel hab ich nun z.B. die id8, dann soll er die Menues
anzeigen und verschachtelt Untermenue3 und Unteruntermenue1, nicht aber
Untermenue 1 und 2.
Hoffe mein Problem ist verständlich.
Nun haperts bei mir an der Umsetzung.
Kann mir jemand n Anstoss geben?
Danke und Gruß
Jochen
Re: Child Of-Navigation
am 23.09.2005 12:23:55 von do.not.REMOVETHAT
jochen@10west.de schrieb:
> Menue1 (id1)
> Menue2 (id2)
> Untermenue1 (id3, child of-id2)
> Untermenue2 (id4, child of-id2)
> Menue3 (id5)
> Menue4 (id6)
> Untermenue3 (id7, child of-id6)
> Unteruntermenue1 (id8, child of-id7)
> Menue5 (id9)
> usw...
>
> Nun will ich die Navigation anzeigen lassen. Dafür brauch ich eine
> rekursive Funktion. Soweit ists klar.
Nö, brauchst Du nicht. Nimm einfach nicht die "8" als Pfad, sondern
"/6/7/8" - dann explodest Du das bei "/" und machst für jeden Teil einen
self-join. Das Ergebnis joinst Du noch mal mit den Geschwistern und Du
hast nicht nur sprechende URLs (wenn Deine IDs gescheit sind), sondern
auch genau die Daten, die Du für das Menü brauchst.
Grüße, Matthias
--
http://www.trullala.de
"Dieses E-Mail ist nur für die Mitteilung.
Damit haben Sie keine Antwort zu machen."
(Zitat aus einer dieser neumodischen Phisching-Mails)
Re: Child Of-Navigation
am 23.09.2005 12:31:00 von Jochen
Achso, das hätt ich vielleicht noch sagen müssen:
Ich will eine flache Ordnerstruktur. Also nur ein Ordner und ein
Dateiname.
Daher auch mein Problem, dass ich beim Blatt anfangen muss.
Bei meinem Beispiel wärs also
www.domain.de/unteruntermenue1/index.html
Aus der DB holt er mit diesen 2 Werten die id8. Und damit muss ich
jetzt das Menue aufbauen.
Re: Child Of-Navigation
am 23.09.2005 13:13:24 von Axel Schwenke
jochen@10west.de wrote:
>
> ich will eine Navigation mit Child-Of-Elementen machen:
....
Ha-ha-ha-ha-ha!
XL (manisch lachend)
PS: http://thewml.org/docs/incl/wml::des::navbar.html
Re: Child Of-Navigation
am 23.09.2005 15:38:00 von Jochen
Hm, hab das jetzt nur kurz überflogen, aber mit Perl wollte ich das
eigentlich nicht machen.
Re: Child Of-Navigation
am 26.09.2005 10:02:57 von do.not.REMOVETHAT
jochen@10west.de schrieb:
> Ich will eine flache Ordnerstruktur. Also nur ein Ordner und ein
> Dateiname.
Was bedeutet das?
Grüße, Matthias
--
http://www.trullala.de
"Dieses E-Mail ist nur für die Mitteilung.
Damit haben Sie keine Antwort zu machen."
(Zitat aus einer dieser neumodischen Phisching-Mails)
Re: Child Of-Navigation
am 26.09.2005 10:26:19 von Jochen
Hallo Matthias,
das bedeutet, dass ich es mit deinem Vorschlag "/6/7/8" nicht machen
kann. Meine Adresszeile soll immer folgendermaßen aussehen:
www. domain.de/ordner/dateiname.html oder
www. domain.de/dateiname.html
Ordner und Dateiname werden dann über die Rewrite-Rule zu Variablen.
Diese Kombination (welche eindeutig ist) steht so in meiner
Navigationstabelle in der DB.
Gruß
Jochen
Re: Child Of-Navigation
am 26.09.2005 15:38:22 von do.not.REMOVETHAT
jochen@10west.de schrieb:
> www. domain.de/ordner/dateiname.html oder
Ah. Du redest von der URL.
Dann wirst Du es wirklich so machen müssen wie Du denkst:
Blatt, rekursiv hoch bis root und immer die "Geschwister" einsammeln.
Geschwister in das zurückgegebene Tanten-Array an die richtige Stelle
(Eltern) einbauen. Anschliessend noch die Kinder dazumachen. Nicht
vergessen, den "aktiven" Punkt zu markieren.
Grüße, Matthias
--
http://www.trullala.de
"Dieses E-Mail ist nur für die Mitteilung.
Damit haben Sie keine Antwort zu machen."
(Zitat aus einer dieser neumodischen Phisching-Mails)
Re: Child Of-Navigation
am 30.09.2005 23:56:57 von Michael Feinbier
jochen@10west.de wrote:
> Hallo zusammen,
>
> ich will eine Navigation mit Child-Of-Elementen machen:
> [...]
> Nun will ich die Navigation anzeigen lassen. Dafür brauch ich eine
> rekursive Funktion. Soweit ists klar.
Wie schon gesagt, brauchst du diese nicht unbedingt. Sollen diese Ebenen
unendlich tief gehen? Wenn ja würde sich unter Umständen ein Nested
Set Modell anbieten. Infos dazu z.B. hier:
http://www.develnet.org/36.html
Gruß,
Micha