Zum Inhalt springen

Content nach Erstellungsdatum sortieren

Erstellt am 2. Februar 2010 · 9 Antworten · letzte Antwort am 2. Februar 2010

Tags: Frage

cmoke ·

Hi

Ich habe in einer Seitenspalte Temin-Inhalte, die sich von der root-Seite auf alle anderen vererben. Diese Termine werden regelmäßig aktualisiert. Wichtig ist hierbei, dass sie alle in einer gewissen chtonologischen Reihenfolge erscheinen. Das heißt, der aktuellste Beitrag ganz oben und alle anderen, nach Erstellungsdatum sortiert, darunter.
Habe auch einen Schnippsel gefunden, womit das irgendwie funktionieren müsste, weiß nur nicht wohin ich den einbauen muss.
Der TS für die besagte Stelle sieht folgendermaßen aus:

page.10.subparts{
  
  INHALTE = CONTENT
  INHALTE < styles.content.get
  INHALTE {
    renderObj.stdWrap.wrap = <div class="content"> | </div> <div id="seitenanfang_div"><a href="#seitenanfang" title="Nach oben" class="seitenanfang">zum Seitenanfang</p></a></div>
  }
  
  AKTUELL = CONTENT
  AKTUELL < styles.content.getRight
  AKTUELL {
    stdWrap.wrap = <div id="in_aktuell"> | </div>
    slide = -1
  }
  
  TERMINE = CONTENT

  #hier sollte der Code die Inhalte sortieren, tut´s aber nicht
  TERMINE.table = tt_content
  TERMINE.select {
    pidInList = this
    #where = colPos=1
    orderBy = date
  }
  
  TERMINE < styles.content.getBorder
  TERMINE {
    stdWrap.wrap = <div id="in_termine"> | </div> <div id="seitenanfang_div"><a href="#seitenanfang" title="Nach oben" class="seitenanfang">zum Seitenanfang</p></a></div>
    slide = -1
  }
}

Richtet bitte Eure Aufmerksamkeit auf den subpart: TERMINE. Irgendwie habe ich dort den Wurm drin ...

igorshmigor ·

in date steht meistens nichts drin. Das ist das Datum, das man manuell ausfüllt, was die wenigsten tun.
Nimm stattdessen crdate oder tstamp.

cmoke ·
igorshmigor schrieb

in date steht meistens nichts drin. Das ist das Datum, das man manuell ausfüllt, was die wenigsten tun.
Nimm stattdessen crdate oder tstamp.

Danke erstmal für Deine Antwort.
Würde aber prinzipiell gerne wissen, ob mein script so in Ordnung ist. Habe es eben auch mit Deinem Vorschlag versucht, leider ohne Ergebnis. Das mit dem Datum-Ausfüllen ist aber kein Problem, weil diese Inhalte nur einer pflegen wird und der MUSS es machen.

igorshmigor ·

pidInList=this könnte ein Problem sein. Die Verwendung von this ist mir in TypoScript zumindest nicht vertraut.
Lass die Zeile mal ganz weg. Die aktuelle Seiten-ID wird automatisch verwendet, wenn nichts anderes angegeben ist.

cmoke ·

jetzt hab ich´s!

Musste einfach den slide nach hinten verschieben.

    TERMINE < styles.content.getBorder
  TERMINE {
    stdWrap.wrap = <div id="in_termine"> | </div> <div id="seitenanfang_div"><a href="#seitenanfang" title="Nach oben" class="seitenanfang">zum&nbsp;Seitenanfang</p></a></div>
   
    #Inhalte nach Datum sortieren
    table = tt_content
    select {
      orderBy = date
    }  
    #überträgt die Inhalte der Seite auf alle Unterseiten
    slide = -1
  }

Jetzt will ich aber noch was... 🙂

.. und zwar die Reihenfolge umkehren, also Datum = aktuellstes oben.
Hmmm?!

cmoke ·
igorshmigor schrieb

Da müsstest Du eigentlich die MySQL-Optionen asc und desc anwenden können, also z.B.

orderBy=date desc

. Glaube ich.

Bingo!!! Danke!
Jetzt bin ich glücklich... für´s Erste :p