Per TypoScript HTML Sitemap für tt_news erstellen
Zunächst erzeugt man ein normales HMENU. Das HMENU wird zur Sitemap, indem auf jeder Ebene des Menüs durch expAll = 1 das Menü vollständig ausgeklappt wird.
Nun müssen wir die Seite herausfinden, unterhalb derer die News angezeigt werden sollen. In dem vorliegenden Beispiel ist dies Seite 11 auf Ebene 1. Daher wird auf Ebene 1 der Output der Sitemap durch cObject, genauer durch ein cObject vom TYP CASE ersetzt. Mit diesem wird die uid der Seite abgefragt. Wenn diese nicht 11 ist (sonder default) wird einfach normal die Seite verlinkt ausgegeben. Andernfalls geben wir die Untersitemap für die News aus.
Die Unterseitemap der tt_news Kategorien und Einzelnews wird über zwei verschachtelete cObjects vom TYP CONTENT realisiert. Das äußere wählt alle News aus, das innere stellt die jeweils zur Kategorie gehörenden News dar.
lib.sitemap = HMENU lib.sitemap { 1 = TMENU1{ wrap = <ul>|</ul> expAll = 1 NO{ wrapItemAndSub= <li>|</li> doNotLinkIt = 1 stdWrap.cObject = CASE stdWrap.cObject{ key.field = uid # alle anderen Seiten auf Level 1 ausgeben default = TEXT default{ field = title typolink.parameter.field = uid } #################### # Newsseiten ausgeben #################### 11 = COA 11{ 10 = TEXT10{ field = title typolink.parameter.field = uid } 20 = CONTENT 20{ #################################### # Kategorie auswählen und ausgeben #################################### stdWrap.wrap = <ul>|</ul> table = tt_news_cat select{ # pid in der die Kategorien liegen pidInList = 2 # Nach Titel sortieren orderBy = title } renderObj = COA renderObj{ # News Kategorie ausgeben und verlinken wrap = <li>|</li> 10 = TEXT 10.field = title 10.typolink{ parameter = 11 additionalParams=&tx_ttnews[cat]={field:uid} additionalParams.insertData=1 } 20 = CONTENT 20{ # Zur Kategorie gehörige Einzelseiten auswählen stdWrap.wrap = <ul>|</ul> table = tt_news select{ # pid in der die News liegen pidInList = 2 # nach Titel sortieren orderBy = title # überprüfen ob News zur Kategorie gehört andWhere= uid_foreign={field:uid} andWhere.insertData=1 join = tt_news_cat_mm ON (tt_news.uid=tt_news_cat_mm.uid_local) } # News ausgeben renderObj = COA renderObj{ wrap = <li>|</li> 1= TEXT 1{ field = title typolink{ parameter = 10 additionalParams=&tx_ttnews[tt_news]={field:uid} additionalParams.insertData=1 } } } } } } } } } } 2 = TMENU 2{ wrap = <ul>|</ul> expAll = 1 NO.wrapItemAndSub= <li>|</li> } 3 = TMENU 3{ wrap = <ul>|</ul> expAll = 1 NO.wrapItemAndSub= <li>|</li> } 4 = TMENU 4{ wrap = <ul>|</ul> expAll = 1NO.wrapItemAndSub= <li>|</li> } }



Zu "Per TypoScript HTML Sitemap für tt_news erstellen"
eine sehr schön Idee hast du da. Ich wollte das auch für meine Page einrichten, doch leider habe ich nich noch nicht so viel erfahrung. Kannst du mir sagen wo ich diesen Code einfügen muss und wie ich in ihn auf die Seite bekommen kann?
Hoffe du kannst mir helfen...
Felix