Navigation zu Ankern/ Contentelementen auf einer Seite
284 Kommentare | Rubrik: Module Wer lange Contentseiten hat, sollte seinen Besuchern die Möglichkeit bieten, schnell direkt auf relevante Inhaltspunkte einzuspringen. Am einfachsten löst man dies mit einer Navigation über die Anker auf der Website. Folgender Artikel stellt ein anpassbares TS-Menü zur Verfügung.
Typo3 bietet von Haus aus die Möglichkeit Navigationsmenüs basierend auf Anker der jeweiligen Seiten zu realisieren. Mit folgendem leicht anzupassendem TS generiert man eine Navigation über Anker auf der jeweiligen Seiten und hat die Möglichkeit nur Anker bestimmter Inhaltselemente in die Navigation mit aufzunehmen.
### Bibliothek für Contentnavigation über Anker ###
lib.contentnavigation = CONTENT
lib.contentnavigation {
table = tt_content
select {
pidInList = this
orderBy = sorting
# 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=|
# 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 = <div class="jump">|</div>
}
Ein Beispiel gibt es in der rechten Spalte auf der
Inhaltsverzeichnis-Seite
Wichtig
Die Anker auf der Seite dürfen natürlich nicht deaktiviert sein, sonst wird zwar die Navigation mit den Links generiert, aber der Einsprung zum Inhaltselement funktioniert nicht.
Das Menü generiert die Linktexte aus den Überschriftsfeldern, d.h. diese müssen vorhanden sein. Falls man diese nicht auf der Website angezeigt bekommen möchten, kann man den Typ auf "versteckt" setzen.
Anpassen
Wer die Abfrage anpassen möchte, für den empfiehlt sich die phpMyAdmin Extension. Mit ihr können die Struktur und Werte der abgefragten Tabellen in der Datenbank schnell zur Anpassung angezeigt werden.


3 Kommentare
Seite 1 von 1 1
schrieb am 20.06.2011 18:25
Das Beispiel funktioniert toll! Habe aber noch ein Problem.
Ich habe bei mir 4-5 Sectionen mit Anker und über jeder Section soll die Navigation kommen. Das funktioniert auch. Nur leider fehlt a) immer der Link für die aktuelle Sektion und b) fehlt der Link von allen vorherigen Sectionen.
Bsp.:
Section 1 von 5 hat die Links: <Section2><Section3><Section4><Section5>
...
Section 3 von 5 hat die Links: <Section4><Section5>
Ich hätte aber gerne über all, alle Sectionen und die jeweilige markiert:
Bsp. für Section2: <Section1><Section2 aktiv><Section3><Section4><Section5>
Ich bin leider noch nicht fit in TS. Wäre toll wenn mir jemand helfen könnte!
Besten Dank!
schrieb am 18.05.2011 15:53
Funktioniert prächtig. Danke!
schrieb am 04.10.2008 22:04
wenn ich irgendeinem Link folgen will, lande ich immer auf dieser Kommentar-Seite???