Hallo Typo3-Freunde!
Ich arbeite mich gerade immer tiefer in T3+TS ein und muss gerade ein Menü erstellen, welches durch alle Anker einer Seite automatisch generiert werden soll.
Prinzipiell funktioniert mein TS auch schon (dank Google ein TS gefunden) aber ich habe noch zwei Punkte die ich nicht hin bekomme.
1. So soll es aussehen
Auf jeder Seite sind x Seitenelemente.
Über jeder Sektion innerhalb einer Seite soll die Ankernavigation erscheinen. Der Navipunkt zur aktuellen Sektion soll ein class-Attribut "aktiv" bekommen.
2. Was ich hinbekommen haben:
Über jeder Sektion wird die Anker-Navi angezeigt und eine unordered-List mit den Navi-Punkten angezeigt.
Jedoch fehlt immer zum aktuellen Element der Navi-Punkt und von allen vorherigen Element von der Seite (z.B. von Seite1) der Navi-Punkt.
Bsp.:
<ElementX> = Navi-Punkt eines Elements
Seite1
Element 1 von 4: <Element2> <Element3> <Element4>
Element 2 von 4: <Element3> <Element4>
Element 3 von 4: <Element4>
Element 4 von 4:
und so soll es aussehen:
Seite1
Element 1 von 4: <Element1 class="aktiv"> <Element2> <Element3> <Element4>
Element 2 von 4: <Element1> <Element2 class="aktiv"> <Element3> <Element4>
Element 3 von 4: <Element1> <Element2> <Element3 class="aktiv"> <Element4>
Element 4 von 4: <Element1> <Element2> <Element3> <Element4 class="aktiv">
Mit einem Standard-Menü aus dem Seitenbaum bekomme ich das hin, hier bin ich überfragt...
Hat mir hier jemand einen Rat?
### Bibliothek für Contentnavigation über Anker ###
lib.field_navigation = CONTENT
lib.field_navigation {
table = tt_content
select {
pidInList = this
orderBy = sorting
selectFields = header
# SQL-Abfrage auf die DB:
# Nicht versteckt + nicht gelöscht + col 0 (Spalte Normal) + kein Typ 'header'
where = (NOT hidden) AND (NOT deleted) AND (colPos=0) AND NOT (CType='header')
# fuer Sprachen
languageField=sys_language_uid
}
renderObj = TEXT
renderObj {
# header Feld als Text nutzen
field = header
# wrap um den Link
wrap=<li>|</li>
# generiert den Link zur aktuellen Seite
typolink.parameter.field=pid
# haengt die Nummer des Ankers an
typolink.parameter.dataWrap=|#{field:uid}
# nur wenn Überschrift vorhanden ist
if.isTrue.field=header
}
# wrap um das komplette Menü
wrap = <ul class="navi">|</ul>
}