Breadcrumb-Seitentitel mit TypoScript & nette Extras

Suchmaschinenfreundliche Seitentitel mit TYPO3, TypoScript & ViewHelpern für die eigene Extbase-Erweiterung. Ein kleines Snippet.


getestet mit TYPO3 6.2 LTS

Der Kunde wünscht sich, dass im Seitentitel neben dem aktuellen Seitennamen auch die Seitenstruktur abgebildet wird. Aus SEO-Gründen soll die Struktur aber umgekehrt ausgegeben werden, damit die wichtigste Information vorne steht. Mit TypoScript eine Fingerübung. :-)

Auf den ersten Blick sieht die geforderte Lösung aus wie ein Brotkrumenmenu, nur eben umgekehrt. Breadcrumps können wir in TypoScript problemlos generieren lassen, und ein kleiner Blick in die TSRef zeigt uns auch schon die gewünschte Eigenschaft: special.reverseOrder = 1 dreht den Spieß um. Damit sind wir fast am Ziel:

lib.title = COA
lib.title {

    20 = HMENU
    20 {
        special = rootline
        special.reverseOrder = 1
        special.range = 1|-1
        1 = TMENU
        1 {
            NO {
                stdWrap.field = subtitle // title
                linkWrap = | -
                doNotLinkIt = 1
            }
        }
    }
    30 = TEXT
    30 {
        stdWrap.noTrimWrap = | ||*|| | - ||
        value = WEBSITENAME
    }
}

page.headerData.5 < lib.title
page.headerData.5.wrap = |

Im diesem Snippet habe ich lib.title und die Einbettung in page.headerData getrennt; das ist eigentlich unnötig - allerdings erleichtert es mir im nächsten Schritt gleich die Integration in die Templates.

Auf der entsprechenden Website sind nämlich auch noch Erweiterungen im Einsatz, die den Titel manipulieren sollen, z.B. weil ein Produktname o.ä. im Seitentitel erscheinen soll. Die Extensions basieren auf Extbase und arbeiten mit einem Fluid-Template.

In lib.title steht nun schon fast das Richtige; der Titel muß nur noch um die Information ergänzt werden, welches Produkt (oder News oder Adresse oder ...) auf der Detailseite gerade angezeigt wird. Auch das ist ganz einfach, wenn man weiß, wie es geht:

FluidTYPO3 stellt im Rahmen der VHS-ViewHelper (Extension vhs installieren!) den dafür benötigten ViewHelper zur Verfügung: v:page.header.title 

Im View unserer Extension können wir also mit 

<v:page.header.title title="{product.title} - {f:cObject(typoscriptObjectPath:'lib.title')}" whitespaceString=" " /> 

ganz einfach den Titel erweitern und überschreiben. Nicht vergessen: Dafür müssen oben im Template die VHS-ViewHelper registriert werden:

{namespace v=FluidTYPO3\Vhs\ViewHelpers}