Mit diesem Trick sorgen Sie dafür, dass die Inhalte der Reihe nach aus den Unterseiten der aktuellen Seite ausgelesen werden und als Überschrift den Titel der jeweiligen Unterseite erhalten.
| Warnung |
| Wenn Sie diesen Code für die Ausgabe sämtlicher Inhaltselemente verwenden, sollten Sie beachten, dass für eventuell verwendete Elemente vom Typ Menü/Sitemap immer manuell ein expliziter Ausgangspunkt gesetzt werden muss. Ohne die Angabe eines Ausgangspunkts verwendet TYPO3 nämlich auch dafür die aktuelle Seite als Default, was zu unerwünschten Ergebnissen führen kann. |
Abschließend zeigen wir Ihnen noch ein Beispiel für eine tiefer gehende Verschachtelung, die zwei weitere Unterebenen in die Ausgabe mit einbezieht.
Aus Gründen des Komforts haben wir in diesem Fall ein weiteres temp-Objekt namens unterseiten angelegt, das Sie mehrfach wiederverwenden können, indem Sie es an die richtige Stelle kopieren.
temp.unterseiten = CONTENT
temp.unterseiten {
table = pages
select {
pidInList.field = uid
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
}
}
}
}
temp.kumulierterInhalt = COA
temp.kumulierterInhalt {
10 = TEXT
10.field = title
10.wrap = <h1>|</h1>
20 = CONTENT
20 {
table = tt_content
select {
orderBy = sorting
}
}
30 < temp.unterseiten
30.renderObj {
30 < temp.unterseiten
30.renderObj {
10.wrap = <h3>|<h3>
30 < temp.unterseiten
30.renderObj {
10.wrap = <h4>|<h4>
}
}
}
}
Listing 3
Durch den Einsatz des zusätzlichen temp-Objekts können Sie beliebig viele Ebenen hinzufügen, ohne dabei jedes Mal den vollständigen Code eingeben zu müssen. Der Inhalt von temp.unterseiten wird einfach in den Bereich 30 des übergeordneten COA kopiert. Danach müssen Sie ab der zweiten Ebene lediglich den Bereich 10 des renderObj modifizieren, damit die Überschriften den zur entsprechenden Ebene passenden Grad bekommen.





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