Top 10 der neuesten Seiten

Der folgende Code ermöglicht das Anzeigen der 10 zuletzt aktualisierten Seiten mit den zuletzt geänderten Inhalten aufzulisten und zu verlinken.
Funktioniert wunderbar falls man nur eine Sprache hat.
Bei Mehrsprachigkeit funktioniert es leider nicht bzw. zeigt nur die Standardsprache, da es laut TSRef mit select nicht möglich ist Daten aus der pages_language_overlay Tabelle zu lesen.

TypoScript
temp.top10 = COA 
temp.top10 { 
  10 = LOAD_REGISTER 
  10 { 
    lvl1uids.cObject = CONTENT 
    lvl1uids.cObject { 
      table=pages 
      select.pidInList.data = leveluid:0 
      renderObj = TEXT 
      renderObj.field = uid 
      renderObj.wrap = |, 
    } 
    lvl2uids < .lvl1uids 
    lvl2uids.cObject.select.pidInList.data= register:lvl1uids 
    lvl3uids < .lvl1uids 
    lvl3uids.cObject.select.pidInList.data= register:lvl2uids 
    lvl4uids < .lvl1uids 
    lvl4uids.cObject.select.pidInList.data= register:lvl3uids 
    lvl5uids < .lvl1uids 
    lvl5uids.cObject.select.pidInList.data= register:lvl4uids 
    alluids.cObject = COA 
    alluids.cObject { 
      10=TEXT 
      10.data = register:lvl1uids 
      20=TEXT 
      20.data = register:lvl2uids 
      30=TEXT 
      30.data = register:lvl3uids 
      40=TEXT 
      40.data = register:lvl4uids 
      50=TEXT 
      50.data = register:lvl5uids 
      60=TEXT 
      60.data = leveluid:0 
    } 
  } 
  20 = CONTENT 
  20 { 
    table = pages 
    select { 
      pidInList.data = register:alluids 
      orderBy = tstamp DESC 
      max = 10 
    } 
    renderObj = COA 
    renderObj { 
      10 = TEXT 
      10.field = title 
      10.typolink.parameter.field=uid 
      10.wrap = <li>| 
      20 = TEXT 
      20.field = tstamp 
      20.strftime = %d-%b-%Y %H:%M:%S 
      20.wrap = geändert am |</li> 
    } 
  } 
  wrap=<h1>Top 10 Updates</h1> <ol>|</ol> 
}
2 Kommentare
#2 Janos Thiele schrieb am 07.10.2010 11:35

Danke Georg,

 

mal wieder ein super praktischen snippet, welches einem hilft CONTENT aus der pages_language_overlay tabelle zu selectieren

#1 Georg Ringer schrieb am 07.07.2007 15:59

Auch multidomain fähig durch

 

 

[ globalVar = GP:L = 1 ]

temp.top10.select {

join= pages_language_overlay ON(pages.uid=pages_language_overlay.pid)

andWhere {

data = TSFE:sys_language_content

wrap = pages_language_overlay.sys_language_uid=|

}

}

einen Kommentar schreiben
Typo3