Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Erstellen einer Navigationsstruktur (https://www.delphipraxis.net/162526-erstellen-einer-navigationsstruktur.html)

Störtebeker 26. Aug 2011 13:26

Erstellen einer Navigationsstruktur
 
Hi,

für meinen Editor wollte ich dem Benutzer einen Seitenassistenten mit auf den Weg geben, über den dieser auch auf einfache Weise eine Navigation für seine Website erstellen kann. Das ist bis zu den Hauptpunkten kein Problem, doch nun hänge ich an den eventuellen Unterpunkten fest.

Das ganze läuft über eine Listbox: Add-Button -> EditFeld -> Wert des Editfelds wird in die Listbox eingtragen.

Beispiel:
Über Uns
Über Uns - Philosophie

Der Code für das sieht bisher folgendermaßen aus:

Delphi-Quellcode:
if(Assistent.Navigationsknoten.Items.Count>0) then begin

     Editor.SynEdit1.Lines.Add('<ul>');
       for i:=0 to Assistent.Navigationsknoten.Items.Count-1 do
        Editor.SynEdit1.Lines.Add('<li><a title="" href="">'+Assistent.Navigationsknoten.Items[i]+'</a></li>');
         end;
         i := i+1;
         Editor.SynEdit1.Lines.Add('</ul>');
       end;
"Navigationsknoten" ist die ListBox mit den eingetragenen Werten.


Wie gehe ich jetzt aber am besten das Erstellen der Liste mit den Unterpunkten an, sodass diese beim richtigen Hauptpunkt angefügt wird?

ehX 26. Aug 2011 14:27

AW: Erstellen einer Navigationsstruktur
 
Generell:
Gib jedem Hauptpunkt eine ID und jedem Unterpunkt eine Parent-ID und eine Position innerhalb der Unterpunkte (ordering)
Beim Füllen der Listboxen gehst du dann Hauptpunkt für Hauptpunkt durch, schaust, ob er Unterpunkte hat und gibst sie nach der Position sortiert nach dem Hauptpunkt aus.

Störtebeker 26. Aug 2011 18:20

AW: Erstellen einer Navigationsstruktur
 
Hi ehX,

danke erstmal für deinen Tipp, aber kannst du mir da eventuell auch einen Ansatz für den nötigen Code geben? Weil das ist dann doch Neuland für mich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz