phpbar.de logo

Mailinglisten-Archive

[php] Navigation Anzeige - wie den richtigen Zweig aufklappen?

[php] Navigation Anzeige - wie den richtigen Zweig aufklappen?

Botzenhart Stefan info at bevelopment.de
Fre Jul 22 23:36:11 CEST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo,

Volker Dr. Göbbels schrieb:
> Hallo Henning,
> 
> also ich verwende im allgemeinen keine verschiedenen IDs für
> verschiedene Ebenen. Stattdessen kommt das simple id/parentid Prinzip
> zum Einsatz. Sprich Kinder sind durch das Feld parentid mit ihrem
> "Elternknoten" verbunden. Damit kann man komplexe Bäume bauen. Und
> natürlich auch Subbäume durch Klick auf den Link mit einer bestimmten ID
> aufklappen/zuklappen.
> Ein Treewalker baut dann aus dem "flachen" Array aller Knoten den
> referenzierten Baum. Sollte Der Baum groß sein oder ein besonderer
> Bedarf an Geschwindigkeit bestehen, wird der gesamte Baum in einem
> Heap-Cache/Shared Memory vorrätig gehalten. Der ganze Baum deshalb, weil
> je nach eingeloggtem User die Menüpunkte noch mal nach Rechten gefiltert
> werden müssen.
> Das ist jetzt keine wirkliche Hilfe für dein Problem, aber vielleicht
> mal ein anderer Denkansatz ...

genau diesen Ansatz hatte ich mir für mein System auch überlegt.
Allerdings wollte ich das Menu dann mittels einer Funktion aufbauen, die
zunächst alle Elemente bestimmt, für die der jeweilige User Rechte
besitzt. Diese Elemente möchte ich dann mit einer rekursiven Funktion
richtig anordnen und das Menu dann aufbauen.

Meine Frage hier ist, wie kann ich das ressourcenschonender
organisieren. Vor allem in Hinsicht auf den angesprochenen Treewalker
und den Heap-Cache.
Gibt es da fertige Funktionen die das erledigen?
Muss ich meinen Id/Parent-id Beziehungen auf bestimmte Weise in das
Array speichern und wie kann ich solch eine Struktur performant
zwischenspeichern?

Vielen Dank schon für eure Tipps und Hilfen!

Mit freundlichen Grüßen
Stefan Botzenhart

- --
**************************************************
Bevelopment
Botzenhart Stefan
Memmingerstr. 75
89264 Weißenhorn

fon: (+49) 172/6247909
fax: (+49) 89 - 1488 154761
email: info at bevelopment.de
www: http://www.bevelopment.de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (MingW32)
Comment: GnuPT-Light 0.2 by EQUIPMENTE.DE
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFC4WbIX6uTddf5BKoRAizSAJ0VE3kkHUoN8Kptw1QXN0EOk2iJKwCeO0Qe
ntD1lr6lO3tTvljii9NA7lk=
=sBAa
-----END PGP SIGNATURE-----

php::bar PHP Wiki   -   Listenarchive