virtuelle Ordnerstruktur

P

P_F

Hi Leutz,

ich arbeite momentan an einem Datei-Manager-Modul für mein cms.

Der User soll zur besseren Übersicht Ordner anlegen können, auch Unterordner und Unter-Unterordner usw.

Jeder Unterordner hat eine parentID, die ID des Überordners.

Ich habe divesre Funktionen:

Mit GetParentFolderID($folderID) bekomme ich den Übergeordneten Ordner.

Mit GetFolderName($folderID) bekomme ich den Ordnernamen.

Wenn GetParentFolderID($folderID) leer ist, also keine ParentID existiert soll der Ordner ROOT sein.

Nun möchte ich in allen Ordnern die Aktuelle Ebene anzeigen,
z.B.: Du befindest dich in: ROOT / Testordner / Testordner2 /

Ich habe daran gedacht in einer Schleife immer die höher gelegenen Ordner zu holen und in ein Array zu schreiben, also z.B. $array würde dann enthalten ROOT, Testordner, Testordner2.

Dann könnte ich die mit join($array,' / ') verknüpfen.

Ich bekomme den Part mit der Schleife jedoch nicht hin. Versteht Ihr mein Problem?
 
Du hast schon Recht, das Teil ist spitze, jedoch habe ich auch nach längerem Suchen keine Version gefunden, die ohne irgendwelche Pear-Pakete auskommt, also das ist ein bisschen blöd.

Was spricht gegen meine bescheidene parentID ?
 
mach so (keine ahnung obs geht aber einen versuch ists wert):

PHP:
 $aktuell_ID= //Hier die ID vom aktuellen Ordner 
for($ordnerID=GetParentFolderID($aktuell_ID);GetOrdnerID($ordnerID) != "ROOT";$ordnerID=GetParentFolderID($ordnerID)){
//hier kannste dann das array packen
}
 
P_F hat gesagt.:
Du hast schon Recht, das Teil ist spitze, jedoch habe ich auch nach längerem Suchen keine Version gefunden, die ohne irgendwelche Pear-Pakete auskommt, also das ist ein bisschen blöd.

Was spricht gegen meine bescheidene parentID ?

Es ist sicher auch eine gute Lösung, aber es ist rekursiv, und rekursiv ist immer mit vielen Abfragen verbunden, sprich langsam.

NestedSets ist ja eigentlich nur die DB-Struktur. Den Code dazu kannst du selber machen. Irgendwer hat auch mal eine Klasse dazu geschrieben: http://www.tutorials.de/tutorials139220.html&highlight=nestedset

Das Problem ist einfach dass es recht aufwendig und komplex ist. Wenn du es aber einmal hast hast du warscheinlich die Beste Lösung.
 
habe eine Lösung bei traumprojekt.com gefunden. Du hast Recht, das Ding ist schon Super.
 
Zurück