Re: [TYPO3-german] TS: Inhalte von Unterseiten auf der Oberseite zeigen

2010-11-21 Diskussionsfäden Tom Arnold
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
   renderObj {
 # --- debug --- #
 #99 = TEXT
 #99.data = debug:data
   }
 }
 # - ende footer
   }
   # ende sektionsinhalt
 }
 # ende renderObj
}

[TYPO3-german] TS: Inhalte von Unterseiten auf der Oberseite zeigen

2010-11-10 Diskussionsfäden Tom Arnold
Hallo Liste,

Ich habe eine Seitenstruktur

*Seite 1
-- Seite 1a
-- Seite 1b
-- Seite 1c
*Seite 2
-- Seite 2a
-- Seite 2b
[...]
*Seite n
-- Seite na
-- Seite nb
-- Seite nc
-- Seite nd

Auf den Unterseiten befinden sich Contents in den verschieden Spalten colPos 
0,1,2,3
Ich möchte nun auf den Mutterseiten die Inhalte der Unterseiten zeigen, also 
eingentlich so etwas wie eine aufgebohrte Sitemap/Menu der Unterseiten, nur 
dass ich an alle Inhalte der Seite, Text, Bilder, Metadaten rankommen möchte.
Ziel ist, untereinander die Inhalte der Seite so zu zeigen, wie sie als 
Einzelseite aussehen würden (fragt nicht, was sich die Designagentur da wieder 
ausgedacht hat...)

Also wenn eine Unterseite so aussieht:

[HEADLINE]
[BILDLINKS] [CONTENT] [BILDRECHTS]
[FOOTERBILD]

dann soll auf der Oberseite Seite 1 das ganze dreimal zu sehen sein, jeweils 
mit den Inhalten der Unterseite:

[HEADLINE]
[BILDLINKS] [CONTENT] [BILDRECHTS]
[FOOTERBILD]

[HEADLINE]
[BILDLINKS] [CONTENT] [BILDRECHTS]
[FOOTERBILD]

[HEADLINE]
[BILDLINKS] [CONTENT] [BILDRECHTS]
[FOOTERBILD]

Anders formuliert, wie kann ich in Typoscript einen Loop bauen, der mir 
nacheinander, sooft er Unterseiten findet, Contentobjekte, die ich in Marker 
übergeben kann, zusammenbastelt?

temp.pagecontent = COA
temp.pagecontent.10 = COA
temp.pagecontent.10 {}  // 
temp.pagecontent.20 = COA
temp.pagecontent.20 {}  // 
usw.
^- das .10, .20 usw müsste also dynamisch sein, je nach Anzahl der 
Unterseiten und ich müsste an die PID der jeweiligen Unterseite rankommen, 
damit ich mir die SELECTS bauen kann.

Oder denke ich da gerade in die völlig falsche Richtung?

Gruss + danke
Tom
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german