


Folgendes Code Snippet ermöglicht es die 10 zuletzt upgedateten Seiten mit den zuletzt geänderten Inhalten aufzulisten und zu verlinken (top10). Dieses Snippet ist eine aktualisierte Version der beiden nachfolgenden, es wird hier ein HMENU Objekt zum auslesen der Seiten-Ids verwendet.
temp.top10=CONTENT temp.top10 { table = tt_content wrap=<h1>Top 10 Updates</h1> <ol>|</ol> 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 = | |*| ,| |*| # Hier wird optionSplit benötigt # Damit die erste uid kein , erhält } } 2 = TMENU 2 { expAll = 1 NO { doNotLinkIt = 1 stdWrap.field = uid stdWrap.wrap = ,| } } 3 < .2 4 < .2 # usw. für alle verfübaren Ebenen. } } renderObj = COA renderObj { 10 = TEXT 10{ field = header typolink.parameter.field=pid typolink.parameter.stdWrap.dataWrap=|#{field:uid} wrap = <li>| } 20 = TEXT 20{ field = tstamp strftime = %d-%b-%Y %H:%M:%S wrap = geändert am | </li> } } }
Folgendes Code snippet ermöglicht es die 10 zuletzt upgedateten 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. Unten seht ihr ein anderes sample welches Mehrsprachig funktioniert.
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> }
Dieses zweite sample umgeht schlicht das Problem in dem es nicht die pages listet sondern die Contents. Bei Contents ist es kein Problem eine andere sprache auszulesen. Es muss ein Header beim content eingegeben sein sonst bekommt man keinen Link :). Rechts kann man sehen wie es ausieht.
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> }
Hier noch ein paar Links zur offiziellen Dokumentation:


Kommentare (4)