Frage

Ich habe eine Baumdarstellung von Seiten in einer CMS-Anwendung.Ich verstehe, wie man den Baum in der Datenbank beibehält.Ich habe jedoch keine gute Möglichkeit:

A) Unterseiten unter einer bestimmten übergeordneten Seite neu anordnen.
B) Stellen Sie eine UI-Implementierung bereit, die es dem Benutzer ermöglicht, die Reihenfolge zu ändern.

Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Um die Reihenfolge selbst zu ändern, müssen Sie zusammen mit jeder Seite in der Datenbank eine Art Reihenfolge speichern.Nur der aktuell höchste/niedrigste Wert +/- 1 wäre wahrscheinlich ein guter Ausgangspunkt.Sobald Sie die Reihenfolge festgelegt haben, besteht die Neuordnung darin, zwei Werte zu vertauschen oder den Wert für eine Seite so zu ändern, dass er zwischen zwei anderen liegt (ich denke, Sie könnten Gleitkommazahlen verwenden, aber möglicherweise müssen Sie die Nummer neu nummerieren, wenn Sie sie zu oft aufteilen). mal).

Wie auch immer, sobald Sie das haben, brauchen Sie eine Benutzeroberfläche.Ich habe einen sehr einfachen Ansatz gesehen, bei dem es sich um einen einfachen Weblink oder einen AJAX-Aufruf handeln kann.Sie könnten dem Benutzer auch alle Seitenwerte präsentieren und ihn bitten, sie nach eigenem Ermessen neu zu nummerieren.Wenn Sie Lust auf mehr haben, könnte JavaScript-Drag-and-Drop ein guter Ansatz sein.Ich habe verwendet ExtJS Und Mootools als Rahmenwerk in diesem Bereich.Wenn Sie nicht alle Extjs-Widgets benötigen, würde ich Ihnen in Zukunft davon abraten und sich etwas wie die Mootools ansehen Dynamic Sortables-Demo.

Andere Tipps

A) Ich habe eine ähnliche CMS-App und speichere einen Ordnungswert mit der Seite für einen bestimmten Baum und sortiere nach diesem Wert – da viele meiner Seiten auf völlig unterschiedlichen Websites erscheinen, muss ich die Ordnungszahl für eine Seite/einen Baum pflegen Kombination.

B) Auch ich hätte gerne einen besseren Weg, dies zu tun.Derzeit klicken sie auf den Knoten in der Baumansicht und können die Seite im Hauptseitenbildschirm verschieben.Ich habe Drag & Drop mit Java-Skript und anderen Lösungen ausprobiert, aber meine Benutzer konnten nie damit arbeiten, ohne viel Hand in Hand zu halten.Die Antworten dazu würden mich interessieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top