Um den Seitentitel aus einer Extension heraus zu verändern, gibt es eigentlich eine ganz einfache Methode:
$GLOBALS['TSFE']->page['title'] = 'Neuer Seitentitel';
Diese Methode greift allerdings nur dann, wenn es sich beim Plugin um eine gecachte Extension (also nicht vom Typ USER_INT) handelt und der Seitentitel per Typoscript nicht manuell verändert wurde (config.disableAllHeaderCode).
Ansonsten muss mann sich leider manuell um die Änderung des Seitentitels kömmen. Dafür gibt es 2 Ansätze die sich im Einsatz bewährt haben.
Eigenes Plugin für den Seitentitel
Die einfachste Methode und vor allem die Beste wenn nicht nur der Seitentitel sondern auch noch der Titel der Breadcrumb verändert werden soll, ist es ein eigenes Plugin für die Rückgabe des korrekten Seitentitels zu schreiben. Dieses gibt im besten Fall nur den Titel ohne HTML-Code zurück. Durch Anpassung des Typoscripts, unter Einsatz von Conditions, für die Breadcrumb und den Titel-Tag lässt sich dieser dann einbinden.
Title-Tag suchen und ersetzen
Alternativ ist es auch möglich direkt durch Suchen und Ersetzen im generierten HTML-Code den Seitentitel zu verändern. Hier bedienen wir uns der Art und Weiße wie Typo3 Seiten cached. Fügt man in der Seite ein Plugin ohne Caching ein, so wird trotzdem die Seite gecached und das Plugin zunächst durch einen Platzhalter ersetzt. Zur Laufzeit haben wir somit schon Zugriff auf den fertigen HTML-Code der Seite, der nun verändert werden kann und am Ende nur noch die Daten der Extension eingefügt bekommt.
$GLOBALS['TSFE']->content = preg_replace('/<title>.+<\/title>/','<title>'. $title . '</title>',$GLOBALS['TSFE']->content);