Hiho,
bin zur Zeit am Implementieren des Nested Set Models bei einem eigenen Softwareprojekt.
Das Hinzufügen, Löschen und Verschieben von einzelnen Knoten klappt schon einwandfrei.
Mein Problem ist derzeit das Verschieben eines kompletten Teilbaumes auf einen anderen Elternknoten.
Google hat mir bisher dazu eher unbefriedigende Antworten geliefert und die Nested_Sets_Class von PEAR will ich eigentlich nicht nutzen.
Mein Gedankengang sieht bisher so aus:
- left_id und right_id den Elementes holen, welches verschoben werden soll
- Daraus die Differenz right - left + 1 bilden
- right_id der übergeordneten Seiten der aktuellen Seite mit der Differenz subtrahieren
- Alle nachfolgenden Elemente so anpassen, als wäre der Teilbaum garnicht mehr vorhanden (sowohl left_id als auch right_id mit ermittelten Differenz anpassen)
- Beim neuen Elternelement Platz schaffen -> right_id + Differenz
- Alle nachfolgenden Elemente um die Differenz anheben (left und right)
Kann das so gehen? Hab jetzt schon so viel herumprobiert. Das oben geschriebene ist erstmal das, was ich mir im Kopf ausgemalt habe, um nicht noch einen Fehlschag zu riskieren...

Hier erstmal bissl Grundlagen Vermittlung, damit jeder weiß worum es geht:
http://www.klempert.de/nested_sets/Wenn die ganze Geschichte dann bei mir läuft, wäre ich durchaus bereit, das ganze auf den MenuManager von Clansuite anzuwenden, da die riesigen Performancevorteile bei dem Model einfach auf der Hand liegen.
