T3 Campus T3 Campus

Uri's in TYPO3 erstellen

In einer Webentwicklung werden URI's oft gebraucht, ob für Links oder Weiterleitungen. In TYPO3 geht das mit wenigen Zeilen Code.

Copy-and-paste Vorlagen

Innerhalb eines ActionControllers

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

Außerhalb eines ActionControllers

$objectManager = GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\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)->build();

Erläuterungen

Innerhalb eines ActionControllers steht der UriBuilder als Klasseneigenschaft zur Verfügung. Hier empfehle ich vor der Nutzung immer die reset() - Funktion aufzurufen, damit keine ungewünschten Parameter in die Uri erscheinen. Außerhalb eines ActionControllers muss man die Instanz selbst bilden. Das geht allerdings sehr einfach mit der GeneralUtility - Klasse. 

Die Vorraussetzung, damit gültige Uri's erstellt werden können, ist ein gültiger Frontend- oder Backendkontext. Das bedeutet für das Frontend muss die TypoScript Frontend Enviroment (TSFE) korrekt initialisiert sein. Das heisst innerhalb von bspw. Scheduler Tasks oder innerhalb der Middleware ist die TSFE noch nicht initialisiert und damit die Nutzung von dem UriBuilder nicht möglich.

Der UriBuilder hat noch diese weiteren nützlichen Methoden:

  • setTargetPageUid()
  • setCreateAbsoluteUri()
  • setArguments()

Die Nutzung von uriFor ist nicht zwingend notwendig. Für Uri's ohne Relation zu einem Frontend Plugin kann auf diesem Aufruf verzichtet werden.

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.