[1965 Aufrufe]
Hook:
Hook:
5.20 Hooks: routing
In diesem Abschnitt beschäftigen wir uns mit den Hooks für das Routing.
Hook: getPageIdFromUrl
Der getPageIdFromUrl Hook wird aufgerufen, wenn ein Url-Fragment ausgewertet wird.
Dieser Hook ist veraltet und kann unter Contao 5 nicht mehr verwendet werden!
Registrierung
# /src/Ctocb/Example/Resources/config/services.yml
services:
# Hooks
Ctocb\Example\Classes\Contao\Hooks\ExampleHook:
public: true
tags:
- { name: contao.hook, hook: getPageIdFromUrl, method: handleHook, priority: 1024 }
Klasse
<?php
namespace Ctocb\Example\Classes\Contao\Hooks;
class ExampleHook {
public function handleHook(array $fragments): array
{
// Analyze the fragments
if (true) { // check something usefull
\Contao\Input::setGet('myFirstCustomGetParameter', $fragments[1]);
\Contao\Input::setGet('mySecondCustomGetParameter', $fragments[2]);
return [$fragments[0]];
}
return $fragments;
}
}
Parameter:
Parameter | Typ | Beschreibung |
---|---|---|
$fragments |
array |
Array mit den Teilen der Url |
Rückgabewert:
Typ | Beschreibung |
---|---|
array |
Array mit den Teilen der Url |
Referenz im Contao Core: \Contao\Frontend.php#L243-L250 und \Contao\CoreBundle\Routing\Matcher\LegacyMatcher#L150-L165
Hook: getRootPageFromUrl
Der getRootPageFromUrl Hook wird aufgerufen, wenn die Wurzelseite gesucht wird.
Registrierung
# /src/Ctocb/Example/Resources/config/services.yml
services:
# Hooks
Ctocb\Example\Classes\Contao\Hooks\ExampleHook:
public: true
tags:
- { name: contao.hook, hook: getRootPageFromUrl, method: handleHook, priority: 1024 }
Klasse
<?php
namespace Ctocb\Example\Classes\Contao\Hooks;
use Contao\PageModel;
class ExampleHook {
public function handleHook(): ?PageModel
{
// Do something
}
}
Parameter:
keine
Rückgabewert:
Typ | Beschreibung |
---|---|
\Contao\PageModel |
Instanz der gefundenen Wurzelseite |
Referenz im Contao Core: \Contao\CoreBundle\Routing\RouteProvider#L507-L521