Problem
Sie möchten die Inhalte bestimmter Seiten und ihrer Unterseiten in einer einzigen Ausgabeseite zusammenfassen. Damit könnten Sie z.B. dem Besucher der Seiten eine kompakte Druckversion anbieten, ohne dass dieser sich dazu auf jede einzelne Unterseite bewegen muss, um dort einen separaten Ausdruck vorzunehmen.
Lösung
Verwenden Sie das TypoScript-Element CONTENT und verschachteln Sie es über mehrere Ebenen, indem Sie dem entsprechenden renderObj jeweils ein weiteres CONTENT-Element zuweisen. Das übergeordnete CONTENT-Element liefert dabei die UID der Seiten, von denen jeweils weitere Unterseiten und/oder deren Inhaltselemente verwendet werden.
temp.kumulierterInhalt = COA
temp.kumulierterInhalt {
10 = TEXT
10.field = title
10.wrap = <h1>|</h1>
20 = CONTENT
20 {
table = tt_content
select {
orderBy = sorting
}
}
30 = CONTENT
30 {
table = pages
select {
orderBy = sorting
}
renderObj = COA
renderObj {
10 = TEXT
10.field = title
10.wrap = <h2>|</h2>
20 = CONTENT
20 {
table = tt_content
select {
pidInList.field = uid
orderBy = sorting
}
}
}
}
}
Listing 1
Diskussion
Eines der wichtigsten TypoScript-Elemente ist das CONTENT-Element, mit dem Sie Inhalte aus verschiedenen Tabellen der Datenbank auslesen und anschließend für die Ausgabe formatieren können. CONTENT verfügt dabei neben wrap und zusätzlichen stdWrap-Funktionen über drei Hauptbereiche, mit deren Hilfe Sie exakt festlegen können, welche Inhalte verwendet werden und aus welcher Tabelle diese stammen sollen.
Mit Hilfe der Eigenschaft table legen Sie zunächst die Tabelle fest, aus der die jeweiligen Inhalte geholt werden sollen. Erlaubt sind dabei die Tabelle pages sowie alle Tabellen, deren Tabellennamen mit einem der folgenden Präfixe versehen ist:




![TYPO3: 10 Jahre in 60 Sekunden zusammengefasst [Video]](http://t3n.de/uploads/t3n-news-post-361575_typo3_medium.jpg)


2 Antworten
von Marc 05.03.2011 (23:53Uhr) 1.
Hallo,
das Skript funktioniert super, aber wie kann ich den Ausgangspunkt bestimmen? Vor allem bei Listing 3? Ich möchte die Zusammenfassungs in der Baumstruktur an einer losgelösten Stelle haben.
grüße
Marc
von PeterN 15.04.2011 (08:31Uhr) 2.
Welche daten ausgelesen werden wird hier jeweils hauptsächlich über das Wert 'pidInList' gesteuert.
#pages
# pidInList.field = uid
# alle Untesreiten der aktuellen Seite
# pidInList = 23
# alle Unterseiten von seite 23
# pidInList hat .stdWrap und bietet diverse alternative Möglichkeiten den Wert festzulegen