Přesměrování pryč z webu už v routě

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
uocriota
Člen | 8
+
0
-

Jde a případně jak, přesměrovat už v routě ven z webu?

Potřebuji, aby jedna stránka na webu mířila pryč, ale zároven nechci mít po webu rozházené něco jako:

if ($articleId == 50) {
	$this->redirectUrl('.....');
}
David Matějka
Moderator | 6445
+
+4
-

muzes vyuzit micropresenter:

new Route('/foo/bar', function ($presenter) {
	return $presenter->redirectUrl('...');
});

//edit: fixed return

jiri.pudil
Nette Blogger | 1029
+
+4
-

Na úrovni routeru to jde udělat pomocí micropresenteru, tzn. do Route předáš místo metadat callback, který vrací aplikační response:

$router[] = new Route('presmeruj', function () {
	return new Nette\Application\Responses\RedirectResponse($url);
});