Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

TYPO3: Einen PageTitleProvider für eigene Extension erstellen

#Tutorials#TYPO3

Seit neuestem kann man sehr einfach den Seiten-Titel (Pagetitle) bei TYPO3 Seiten anpassen. Man muss hierfür einfach einen TitleProvider in der eigenen Extension erstellen und kann diesen dann in seinem Controller in der Detail-Action nutzen. So spart man sich Typoscript oder sonstige Dinge um einen guten Seiten-Titel zu bekommen.

Das Ganze geht so:

MyExtTitleProvider.php in my_ext/Classes/Seo/ erstellen. Natürlich sind die Extension und der Name Platzhalter. Der Inhalt sieht sieht ungefähr so aus:

<?php
namespace AR\MyExt\Seo;
use TYPO3\CMS\Core\PageTitle\AbstractPageTitleProvider;

class MyExtTitleProvider extends AbstractPageTitleProvider {
    /**
     * @param string $title
     */
    public function setTitle(string $title)
    {
        $this->title = $title;
    }
}

Danach fügt ihr den Provider euren TypoScript hinzu:

config.pageTitleProviders {
   myRecord {
      provider = AR\MyExt\Seo\MyExtTitleProvider
      before = pages
   }
]

Und nun kann man ihn in seinem Controller auch schon nutzen.

<?php
use AR\MyExt\Seo\MyExtTitleProvider;
use TYPO3\CMS\Core\Utility\GeneralUtility;

class ....
{


	public function detailAction() {
		// ...
		$titleProvider = GeneralUtility::makeInstance(MyExtTitleProvider::class);
		$titleProvider->setTitle($entry->getTitle().' | Weitere Titel');
	}
}

Kommentare

Es gibt noch keine Kommentare. Sei der Erste!

Hinterlasse einen Kommentar

Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.