Hi.
Habe das Ganze so mal ausprobiert 😉
Hab alles moegliche durch.
Ich habe es wie folgt gemacht:
Das kommt in die TSconfig deiner root-Seite (in der Seiteneigenschaft ganz unten):
# neue Sitemap hinzufügen
TCEFORM.tt_content.menu_type {
addItems.9 = Teaser (Datum, Titel, Description)
addItems.10 = Teaser (Description)
addItems.11 = Teaser (Description,Datum)
addItems.12 = Teaser (Titel)
addItems.13 = Teaser (Titel,Datum)
addItems.14 = Teaser (Titel,Description)
addItems.15 = Teaser (Titel inkl. Link)
}
Dann fuegst du folgendes in das Setup deines Templates ein:
# Teaser (Datum, Titel, Description)
tt_content.menu.20.9 = COA
tt_content.menu.20.9 {
30 = CONTENT
30 {
table = tt_content
select {
pidInList.field = pages
orderBy = tstamp DESC
}
renderObj = COA_INT
renderObj {
# Datum
10 = TEXT
10.field = tstamp
#10.age = min | Stunden | Tage | Jahre
10.date = d.m.Y
10.wrap = <div>Datum: | </div>
# Titel
20 = TEXT
20.field = header
20.wrap = <div>|<div>
# Text
30 = TEXT
30.field = bodytext
30.crop = 350 | ... | 1
30.wrap= <div>|<div>
30.parseFunc < tt_content.text.20.parseFunc
# Link
40 = TEXT
40.value = mehr
40.typolink.parameter.field=pid
40.typolink.parameter.dataWrap=|#{field:uid}
40.wrap = <div>>> | <div>
# Spacer
41 = TEXT
41.value = <br><br>
}
}
}
# Teaser (Description)
tt_content.menu.20.10 = COA
tt_content.menu.20.10 {
30 = CONTENT
30 {
table = tt_content
select {
pidInList.field = pages
orderBy = tstamp DESC
}
renderObj = COA_INT
renderObj {
# Text
30 = TEXT
30.field = bodytext
30.crop = 350 | ... | 1
30.wrap= <div>|<div>
30.parseFunc < tt_content.text.20.parseFunc
# Link
40 = TEXT
40.value = mehr
40.typolink.parameter.field=pid
40.typolink.parameter.dataWrap=|#{field:uid}
40.wrap = <div>>> | <div>
# Spacer
41 = TEXT
41.value = <br><br>
}
}
}
# Teaser (Datum, Description)
tt_content.menu.20.11 = COA
tt_content.menu.20.11 {
30 = CONTENT
30 {
table = tt_content
select {
pidInList.field = pages
orderBy = tstamp DESC
}
renderObj = COA_INT
renderObj {
# Datum
10 = TEXT
10.field = tstamp
#10.age = min | Stunden | Tage | Jahre
10.date = d.m.Y
10.wrap = <div>Datum: | </div>
# Text
30 = TEXT
30.field = bodytext
30.crop = 350 | ... | 1
30.wrap= <div>|<div>
30.parseFunc < tt_content.text.20.parseFunc
# Link
40 = TEXT
40.value = mehr
40.typolink.parameter.field=pid
40.typolink.parameter.dataWrap=|#{field:uid}
40.wrap = <div>>> | <div>
# Spacer
41 = TEXT
41.value = <br><br>
}
}
}
# Teaser (Titel)
tt_content.menu.20.12 = COA
tt_content.menu.20.12 {
30 = CONTENT
30 {
table = tt_content
select {
pidInList.field = pages
orderBy = tstamp DESC
}
renderObj = COA_INT
renderObj {
# Titel
20 = TEXT
20.field = header
20.wrap = <div>|<div>
# Link
40 = TEXT
40.value = mehr
40.typolink.parameter.field=pid
40.typolink.parameter.dataWrap=|#{field:uid}
40.wrap = <div>>> | <div>
# Spacer
41 = TEXT
41.value = <br><br>
}
}
}
# Teaser (Datum, Titel)
tt_content.menu.20.13 = COA
tt_content.menu.20.13 {
30 = CONTENT
30 {
table = tt_content
select {
pidInList.field = pages
orderBy = tstamp DESC
}
renderObj = COA_INT
renderObj {
# Datum
10 = TEXT
10.field = tstamp
#10.age = min | Stunden | Tage | Jahre
10.date = d.m.Y
10.wrap = <div>Datum: | </div>
# Titel
20 = TEXT
20.field = header
20.wrap = <div>|<div>
# Link
40 = TEXT
40.value = mehr
40.typolink.parameter.field=pid
40.typolink.parameter.dataWrap=|#{field:uid}
40.wrap = <div>>> | <div>
# Spacer
41 = TEXT
41.value = <br><br>
}
}
}
# Teaser (Titel, Description)
tt_content.menu.20.14 = COA
tt_content.menu.20.14 {
30 = CONTENT
30 {
table = tt_content
select {
pidInList.field = pages
orderBy = tstamp DESC
}
renderObj = COA_INT
renderObj {
# Titel
20 = TEXT
20.field = header
20.wrap = <div>|<div>
# Text
30 = TEXT
30.field = bodytext
30.crop = 350 | ... | 1
30.wrap= <div>|<div>
30.parseFunc < tt_content.text.20.parseFunc
# Link
40 = TEXT
40.value = mehr
40.typolink.parameter.field=pid
40.typolink.parameter.dataWrap=|#{field:uid}
40.wrap = <div>>> | <div>
# Spacer
41 = TEXT
41.value = <br><br>
}
}
}
# Teaser (Titel inkl. Link)
tt_content.menu.20.14 = COA
tt_content.menu.20.14 {
30 = CONTENT
30 {
table = tt_content
select {
pidInList.field = pages
orderBy = tstamp DESC
}
renderObj = COA_INT
renderObj {
# Titel
20 = TEXT
20.field = header
20.wrap = <div>|<div>
20.typolink.parameter.field=pid
20.typolink.parameter.dataWrap=|#{field:uid}
}
}
}
Jetzt kannst du, wenn du einen Seiteninhalt "Sitemap" anlegst, in den Sitemap-Eigenschaften in dem Auswahlfeld bei "Menü Typ" einen deiner neuen Seitenteaser auswaehlen. Dann waehlst du noch einen (bzw. mehrere) "Ausgangspunkt" (die Seite[n] aus denen die Inhalte ausgelesen werden sollen) aus, und dann speichern und fertig 🙂
Was genau ausgegeben werden soll, legst du im oben stehenden Typoscript fest.
Hab einfach mal alle Beispiele, die mir auf die Schnelle einfielen, erstellt.
Einfach mal ausprobieren.
Ist ganz nice 🙂
Wie man das ganze allerdings rekursiv macht (also dass auch die Unterseiten "geteased" werden), kann ich dir leider nicht sagen.. Weiss ich nicht..
Da muesstest du nochmal unseren Typo3-Terroristen just2b fragen 😉
Hmm..
just2b:
Wie kann ich das ganze rekursiv machen? :p
mfg
Fabian
P.S.:
Ab Typo3 4.0.x sind (soweit ich weiss) standartmaessig 8 Punkte in der Sitemap-Auswahlliste vorhanden, also muss mit addItems.9 begonnen werden. Kann auch sein, dass ich unbewusst eine Extension installiert habe, welche automatisch einen achten Auswahlpunkt 'installiert' hat.. aber egal.. sicher ist sicher 😉 )