T3 Campus T3 Campus

Weiterleitungen in Extbase

Weiterleitungen sind ein essentielles Thema in der Webentwicklung. In Extbase das mit wenigen Zeilen Code erreichen.

Copy-and-paste Vorlagen

Inside ActionController

$this->redirect($actionName, $controllerName = NULL, $extensionName = NULL, array $arguments = NULL, $pageUid = NULL, $delay = 0, $statusCode = 303)
$this->redirectToURI($uri, $delay = 0, $statusCode = 303)
$this->forward($actionName, $controllerName = NULL, $extensionName = NULL,array $arguments = NULL)

Outside ActionController

use TYPO3\CMS\Core\Utility\HttpUtility;
HttpUtility::redirect($url, $httpStatus);

Die Uri kann mit dem UriBuilder erstellt werden:

$objectManager = GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\ObjectManager\ObjectManager::class);
$uriBuilder = $objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::class);

$uri = $uriBuilder->uriFor($actionName = NULL, $controllerArguments = [], $controllerName = NULL, $extensionName = NULL, $pluginName = NULL)->builder();

Erklärungen

Innerhalb eines ActionControllers ist die Weiterleitung problemlos mit den Klassenmethoden: redirect und forward möglich. Der Unterschied von forward zu redirect ist, dass sich bei einem Forward die URL nicht ändert.

Außerhalb eines Controllers sollte man eine Weiterleitung mittels der HttpUtility umsetzen. Dort gibt es dann die statische Funktion: redirect. Um eine valide Uri zu erhalten nutzt man am besten den UriBuilder. Falls die Zielseite nicht die aktuelle ist, dann kann man die Methode: setTargetPageUid($pageUid) vom UriBuilder nutzen. Falls man nur auf einer Seite weiterleiten möchte ohne ein Plugin mit Controller->action Kombination erreichen möchte, dann kann man uriFor auslassen und nur setTargetPageUid nutzen.

Bereit mehr zu lernen?

Dann komme in meine TYPO3 Onlineschule

Als Mitglied des T3 Campus für TYPO3 Schulungen erhältst du eine einzigartige Lernplattform, um professionelle Webseiten mit TYPO3 zu erstellen. Egal, ob du ein Einsteiger, Umsteiger oder bereits erfahren bist – hier findest du die passenden Lernvideos für dich.

Kevin Chileong Lee

Gründer vom T3 Campus, TYPO3 Experte mit 10+ Jahren Erfahrung, TYPO3 Liebhaber.

Ich helfe dir dabei, deine Projekte in TYPO3 umzusetzen.

Insbesondere für TYPO3 Einsteiger biete ich zahlreiche kostenfreie Tutorials und kostenpflichtige Kurse rund um TYPO3 an.
Damit kannst du in wenigen Tagen auch ohne Vorkenntnisse deine erste TYPO3 Webseite erstellen und Erweiterungen programmieren.

Auf meinem YouTube-Kanal findest du viele praktische Beispiele und Videotutorials als auch allgemein Videos zu diversen TYPO3 Themen.

Neber den TYPO3 Tutorials und Kopiervorlagen, schreibe ich auch Artikel auf meinem Blog über diverse Themen und Fragen, die die meisten TYPO3 Einsteiger, haben.

Falls du ein TYPO3 Coaching suchst, dann stehe ich dir in einer 1:1 Trainingssession zur Verfügung.

Wenn du auf dem Laufenden sein möchtest über meine Projekte, dann abonniere den Newsletter.