Menübaum aus Datenbank erstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Menübaum aus Datenbank erstellen

    Hallo Leute,

    ich habe ein ziemliches Problem. Ich komme einfach nicht weiter.
    Ich speichere alle Seiten in der Datenbank in der Tabelle neu_page mit folgendem Aufbau:

    Code:
    PageID   	 sitemap   	 bezeichnung   	 file
    Dazu quasi die "Ordnerstruktur" in die Tabelle neu_sitemap:

    Code:
    id   	 parent   	 bezeichnung
    Also werden alle einzelnen Seiten oben in der Tabelle gespeichert. Z.B. So:

    Code:
    1 1 Startseite
    2 1 Aktuelle Infos
    3 3 Ein grünes Auto
    4 4 Ein roter LKW
    und im Sitemap:

    Code:
    1 0 Home
    2 0 Fahrzeuge
    3 2 PKW
    4 2 LKW
    Daraus ergibt sich folgender Baum:

    Code:
    - Home
    --- Startseite
    --- Aktuelle Infos
    - Fahrzeuge
    --- PKW
    ------ Ein grünes Auto
    --- LKW
    ------ Ein roter LKW
    Soweit so gut. Ich hab es auch hinbekommen den kompletten Baum auszulesen. Doch jetzt möchte ich für die Navigation nur die Hauppunkte anzeigen, sowie alle Baumelemente bis zum gewählten Element. Da der Baum ja jede Menge Ebenen haben kann (Immer wieder ein Parent) kann dieser ja theoretisch unendlich groß werden. (Von den Ebenen her)
    Kann mir jemand ne Funktion schreiben, die mir anhand der PageID den Navibaum erstellen kann?
    Also alle Ebenen die Notwendig sind um navigieren zu können. Wird z.B. der Seiteneintrag "Ein grünes Auto" gewählt. sollte folgender Baum erstellt werden:

    Code:
    - Home
    - Fahrzeuge
    --- PKW
    ------ Ein grünes Auto
    --- LKW
    Ich hoffe ich hab das genau genug beschrieben. Und ich hoffe es ist auch nicht zu schwer für euch um mir helfen zu können.

    Danke im Voraus
    Holger

  • #2
    also das script wird dir sicher keiner "schreiben" - mein tipp - google mal nach "menu+tree" da finden sich einige vorlagen
    Signatur-Text ...

    Kommentar


    • #3
      ... google mal nach "menu+tree" ...
      Eher nach "nested+set"
      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Kommentar


      • #4
        Original geschrieben von hhcm
        Eher nach "nested+set"
        hehe findest bei beidem was
        Signatur-Text ...

        Kommentar


        • #5
          Das nicht Aber es passt besser zu seinen Anforderungen
          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Kommentar


          • #6
            Mit deiner Struktur wirst du nicht weit kommen, bzw. deine SQL-Statements werden ziemlich hässlich werden.

            TBT hatte in den SQL Foren mal was dazu geposted: http://www.php-resource.de/forum/sho...threadid=23912

            Diese Lösung ist ziemlich gut und performant.
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              Für Baumstrukturen gibt es IMHO nix besseres als Nested Sets.
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Kommentar


              • #8
                Original geschrieben von unset
                Für Baumstrukturen gibt es IMHO nix besseres als Nested Sets.
                Bin da anderer Meinung. TBT's Lösung ist nach wie vor die perfekte Lösung, weil du mit einem einzigen Statement alles auslesen kannst und du kannst variieren d.h. nur bestimmte teile aus der Navigation laden oder innerhalb es Menüs den Baum bis zu einem bestimmten Punkt laden. Und das hinzufügen neuer Informationen geht wesentlich schneller als bei Nested Set.
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  Original geschrieben von Benny-one
                  Bin da anderer Meinung. TBT's Lösung ist nach wie vor die perfekte Lösung, weil du mit einem einzigen Statement alles auslesen kannst und du kannst variieren d.h. nur bestimmte teile aus der Navigation laden oder innerhalb es Menüs den Baum bis zu einem bestimmten Punkt laden. Und das hinzufügen neuer Informationen geht wesentlich schneller als bei Nested Set.
                  Mit Nested Sets kann man wesentlich performanter als mit TBTs Lösung auslesen. Da geht halt einfach nix drüber. Jedenfalls nix, was ich kenne. Aber definitiv auch nicht TBTs Lösung. Das hinzufügen von Elementen in einen Nested Sets Baum ist allerdings in der Tat immer etwas Heikel.
                  [FONT="Helvetica"]twitter.com/unset[/FONT]

                  Shitstorm Podcast – Wöchentliches Auskotzen

                  Kommentar


                  • #10
                    http://www.sunshine-cms.de/Sitemap.htm Ich finde dass sich das hier schon sehr sehr schnell aufbaut.
                    Sunshine CMS
                    BannerAdManagement
                    Borlabs - because we make IT easier
                    Formulargenerator [color=red]Neu![/color]
                    Herkunftsstatistik [color=red]Neu![/color]

                    Kommentar


                    • #11
                      Natürlich ist für einen Benutzer der Unterschied bei so wenigen Daten nicht bemerkbar.
                      [FONT="Helvetica"]twitter.com/unset[/FONT]

                      Shitstorm Podcast – Wöchentliches Auskotzen

                      Kommentar


                      • #12
                        Original geschrieben von unset
                        Natürlich ist für einen Benutzer der Unterschied bei so wenigen Daten nicht bemerkbar.
                        Ich kenne ein System, dass bei weniger Daten deutlich länger braucht und auf Nested Sets setzt. Aber wie könnens ja mal testen. Bau du ein Nested Set Menü und wir lassen es gegen meins antreten.
                        Sunshine CMS
                        BannerAdManagement
                        Borlabs - because we make IT easier
                        Formulargenerator [color=red]Neu![/color]
                        Herkunftsstatistik [color=red]Neu![/color]

                        Kommentar

                        Lädt...
                        X