Top 10 der neuesten Inhalte

Es muss ein Header beim content eingegeben sein sonst bekommt man keinen Link.

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 = tt_content 
    select { 
      pidInList.data = register:alluids 
      orderBy = tstamp DESC 
      languageField=sys_language_uid 
      max = 10 
    } 
    renderObj = COA 
    renderObj { 
      10 = TEXT 
      10.field = header 
      10.typolink.parameter.field=pid 
      10.typolink.parameter.stdWrap.dataWrap=#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> 
}
4 Kommentare
#3 Lars schrieb am 15.10.2007 15:27

Ich habe das gerade ausprobiert. Die Anzeige ist wirklich 100% prächtig. Leider sind die Links nicht korrekt. Ich habe immer die ID der aktuellen Seite.

 

Das sieht dann so aus /index.php?id=[aktuelle_pid]#uid=[korrekte_uid]

 

Das ist nicht so gedacht, oder?

#4 Lars schrieb am 18.10.2007 14:12

so gehts dann richtig:

 

top10=CONTENT

top10 {

table = tt_content

wrap=

Recent Updates

    |

select{

orderBy = tstamp DESC

languageField=sys_language_uid

max = 10

pidInList.cObject = HMENU

pidInList.cObject {

entryLevel = 0

1 = TMENU

1 {

expAll = 1

NO {

doNotLinkIt = 1

stdWrap.field = uid

stdWrap.wrap = | |*| ,| |*|

}

}

2 = TMENU

2 {

expAll = 1

NO {

doNotLinkIt = 1

stdWrap.field = uid

stdWrap.wrap = ,|

}

}

3 < .2

4 < .2

}

}

renderObj = COA

renderObj {

10 = TEXT

10{

field = header

typolink.parameter.field=pid

typolink.parameter.stdWrap.dataWrap=|#{field:uid}

wrap =

  • |

    }

    20 = TEXT

    20{

    field = tstamp

    strftime = %d-%b-%Y %H:%Mh

    wrap =
    |

  • }

    }

    }

    #1 blackhawk schrieb am 06.08.2007 23:50

    Kann man das auch so machen das er Inhalte aus mehreren Tabellen nimmt und die dann alle absteigend sortiert?

    #2 steffen schrieb am 08.08.2007 19:55

    mit dem CONTENT bastelt man sich seine SQL-Query zusammen, da kann man auch mehrere Tabellen nehmen

    einen Kommentar schreiben
    Typo3