Software

Inhalt einer Seite und ihrer Unterseiten zusammenfassen: TYPO3 Kochbuch: Proberezept

  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.

TYPOSCRIPT – PAGE SETUP 
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:

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

2 Kommentare
Marc
Marc

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

PeterN

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