Hi,
Ein Nachtrag fürs Archiv:
Ich habe eine recht smarte Lösung hinbekommen, indem ich die Extension
rgteaser verwende, aber die Ausgabe der so modifizierten Sitemap per TS
komplett an die eigenen (bzw Kunden-) Bedürfnisse anpasse. :-)
Man kann die Extension wahrscheinlich auch komplett weglassen, wenn man rein
per TS (über ein temp.Menu) erstmal die PIDs der Unterseiten sammelt, diese
dann mit LOAD_REGISTER im TS für die Content-Ausgabe verwendet.
Die Extension benutzt hierfür eine kleine PHP-Userfunction, die nur eine
kommaseparierte Liste der Unterseiten-PIDs zurückgibt.
Hier mal das TS für die Contents:
#--#
tt_content.menu.20.101 = CONTENT
tt_content.menu.20.101 {
# PIDs der unterseiten holen
table = pages
select {
pidInList.cObject = USER
pidInList.cObject {
userFunc = user_getpages-main
treeDepth = 1
}
#orderBy = tstamp DESC
orderBy = sorting ASC
#where = tx_rgteaser_teaser = 1
}
# fuer jeder der PIDs in der pidInList
renderObj = COA_INT
renderObj {
# die seiten id, aus der die contents kommen speichern:
2 = LOAD_REGISTER
2 {
myPID.cObject = TEXT
myPID.cObject.field = uid
}
# stdWrap fuer die gesamte sektion
stdWrap.dataWrap = div class=section-container
id=section{register:myPID} | /div
# die tab-navigation
5 temp.menu
#
# wrapper fuer den sektionsinhalt
10 = COA
10.wrap = div class=section-wrap | /div
10 {
# linke + rechte spalte -
10 = COA
10.wrap = div class=section-cols | /div
10 {
# linke spalte -
10 = COA
10 {
wrap = div class=section-col left | /div
# der seitentitel mit untertitel --
10 = COA
10 {
10 = TEXT
10.field = subtitle
10.noTrimWrap = |span|/span |
20 = TEXT
20.field = title
wrap = h1 | /h1
stdWrap.wrap = div class=section-header | /div
}
# -- ende seitentitel
# bilder aus rechter spalte --
20 = CONTENT
20 {
table = tt_content
select {
pidInList.data = register:myPID
where = colPos=2
selectFields =
image,imagewidth,imageorient,imagecaption,imagecols,imageborder
}
renderObj tt_content.image
renderObj {
# --- debug --- #
#99 = TEXT
#99.data = debug:data
}
wrap = div class=section-sidebar | /div
}
# -- ende bilder rechte spalte
}
# - ende linke spalte
# hauptcontent -
20 = COA
20 {
wrap = div class=section-col main | /div
# introtext --
10 = CONTENT
10 {
wrap = div class=section-intro | /div
table = tt_content
select {
pidInList.data = register:myPID
selectFields = header,bodytext
where = colPos=1
}
renderObj = COA
renderObj {
10 = TEXT
10.field = header
10.required = 1
10.parseFunc tt_content.text.10.parseFunc
20 = TEXT
20.field = bodytext
20.required = 1
20.parseFunc tt_content.text.20.parseFunc
# --- debug --- #
#99 = TEXT
#99.data = debug:data
}
}
# -- ende introtext
# maincontent --
20 = CONTENT
20 {
wrap = div class=section-content | /div
table = tt_content
select {
pidInList.data = register:myPID
#selectFields = header,bodytext
where = colPos=0
}
renderObj = COA
renderObj {
10 = TEXT
10.field = header
10.required = 1
10.wrap = h2|/h2
20 = TEXT
20.field = bodytext
20.required = 1
20.parseFunc tt_content.text.20.parseFunc
#20.parseFunc lib.parseFunc_RTE
# --- debug --- #
#99 = TEXT
#99.data = debug:data
}
# --- ende renderObj
}
# -- ende maincontent
}
# - ende hauptcontent
}
# - ende linke + rechte spalte
# footer -
20 = CONTENT
20 {
wrap = div class=section-footer | /div
table = tt_content
select {
pidInList.data = register:myPID
selectFields =
header,image,imagewidth,imageorient,imagecaption,imagecols,imageborder
where = colPos=3
}
renderObj tt_content.image