Ergebnis 1 bis 3 von 3

Thema: Query Alle Seiten inklusive Ordnung wie in der Seitenstruktur

  1. #1
    Contao-Nutzer
    Registriert seit
    05.10.2011.
    Beiträge
    45

    Standard Query Alle Seiten inklusive Ordnung wie in der Seitenstruktur

    Hallo,

    ich experimentiere grade mit meinen ersten Erweiterungen und stehe vor folgendem Problem:

    Wie finde ich in tl_page die Sortierung der Seiten nach Seitenstruktur? Das Shema ist ja aufgebaut: ID, bezogen auf Parent ID und Sorting, Sortierung im momentanen Level.

    Wenn ich nun aber eine Seite verschiebe, ändert sich ja die ID nicht und ich weiß nicht mehr, wie ich eine normale Select ALL auf die tl_page machen soll, um alle Seiten, sortiert wie in der Seitenstruktur zu bekommen. Hier sollten die Ebenen eingeschlossen sein, also: Seite 1, Seite 1.1, Seite 1.2, Seite 2, Seite 3, Seite 3.1 usw.

    Momentan habe ich es so versucht:

    Code:
    // Get all pages
            $objPages = $this->Database->execute('SELECT id, title, teaserText, alias, jumpTo, tags FROM tl_page WHERE type = \'regular\' AND published = \'1\' ORDER BY pid, sorting ASC');

  2. #2
    Contao-Nutzer
    Registriert seit
    17.09.2010.
    Beiträge
    161

    Standard

    ein select reicht nicht aus, um alle Seiten in der richtigen Reihenfolge zu bekommen - dazu bräuchte man irgendwie sowas wie ein rekursives select (nicht googlen! gibts in mysql leider nicht...)
    Also zuerst alle Seiten ohne parent selektieren, dann z.B. in einer rekursiven Funktion die childs (und deren childs... und deren childs usw.) selektieren. Hört sich schlimmer an als es ist. Da die tl_page-Tabelle ständig genutzt wird liegt sie mit hoher Wahrscheinlichkeit komplett im DB-Cache und die selects (in diesem Falle ja auch alle über einen Index) laufen in wenigen Millisekunden ab.

  3. #3
    Contao-Nutzer
    Registriert seit
    05.10.2011.
    Beiträge
    45

    Standard

    Ok danke für den Ansatz.

    Ich hatte gehofft, da gibt es vllt. bereits eine Funktion oder ähnliches dafür. Die Navigation arbeiten ja ähnlich, wenn ich mir alle Seite in einer Navigation anzeigen lasse.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •