Verschiebbares Menu

xamunrax

Erfahrenes Mitglied
Hallo,

ich habe ein großes Probelm, wie kann ich ein wirklich dynamisches menu machen... also ich habe

5 kategorien (oder 10 halt dynamisch) nun hat jede einzelne noch 5 unterpunkte, nun möchte ich das man in einem interface die unterpunkte per klick ein punkt höher rutschen lässt und den darüber automatisch einen runter...

kleines BSP:

1.
2.
3.
4.

Nun klicke ich auf 3.

1.
3.
2.
4.

Gut und das selbe soll man dann mit den kategorien machen können in denen die menupunkte sind... praktisch wie bei vielen Foren-administrationen.


MfG Marco Ullrich
 
Nein das muss auch mit PHP realisierbar sein.... bei dem phpBB Board das auch in der administration... und so inetwa will ich das auch haben...
 
Also generell wird das Menü sicherlich rekursiv programmiert sein. Aber das dynamische bekommst du nur mit JavaScript hin, denn wenn du die Animation siehst, dann hat PHP längst seine Daten an den Browser gesandt. Guck mal genau in den Quelldateien, da wird sicherlich eine JavaScript-Datei verlinkt sein, die diese Funktionen enthält, denn sonst müsste eine Seite vielleicht 200 mal pro Sekunde neu geladen werden, um animiert zu werden. Und das ist unmöglich!

Mit freundlichem Gruß
der_maiki
 
Ich glaube er meint "dynamisch" eher im Sinn von "dynamische Website".

Falls ich richtig liege:

Du solltest deine Menüs dann auf Datenbank-Basis aufbauen. Wenn du jeweils nur eine Unterebene haben willst, kannst du dir die Rekursion auch sparen.
Dann machst du eine Tabelle für Kategorien und eine für die Unterpunkte.
Um die Ordnung der Kategorien festzulegen, ist es gut, eine Spalte in der Tabelle zu haben, wo die darüberstehende Kategorie eingetragen ist.

Code:
Tabelle Kategorien:
cid | titel | top
3     foo     NULL
4     bar     5
5     bla     3

Das Menü fängt beim obigen Beispiel mit Kategorie 3 an, da keine drüberstehende Kategorie angegeben ist. Danach komm 5, da sie 3 als überstehende Kategorie hat. Zuletzt kommt 5.

Ich hoffe, das hilft soweit als Denkansatz (und ich hoffe ich hab dich richtig verstanden ;)).
 
Zurück