Redirect a Modul
- ZETCHA
- Člen | 59
Nedaří se mi jednoduché přesměrování v rámci jednoho modulu!
V BasePresenter mám po zjištění, že uživatel není přihlášen redirect
<?php
$backlink = $this->getApplication()->storeRequest();
$this->redirect( ':Admin:Login:', array('backlink' => $backlink) );
?>
Mám třídu Admin_LoginPresenter i akci renderDefault.
Stále mi to vrací:
AbortException
Popravdě tahle hláška mi moc neříká. :-(
Nevíte někdo v čem je zádrhel?
- Ondřej Mirtes
- Člen | 1536
Nemáš to celé v
try {
} catch (Exception $e) {
}
bloku? Metoda redirect vyhazuje právě výjimku, díky které aplikace zařídí přesměrování.
Ukaž celý kód metody, kde to přesměrování máš.
- ZETCHA
- Člen | 59
Mám to takto:
<?php
protected $user;
public function __construct(){
$this->user = Environment::getUser();
if (!$this->user->isAuthenticated()) {
if ($this->user->getSignOutReason() === User::INACTIVITY) {
$this->flashMessage('Pro pro přístup do administrace se musíte přihlásit!');
}
$backlink = $this->getApplication()->storeRequest();
$this->redirect( ':Admin:Product:', array('backlink' => $backlink) );
}
$this->user->setExpiration('+ 30 minutes');
parent::__construct();
}
?>
- Mikulas Dite
- Člen | 756
Pravděpodobně to ještě v konstruktoru nepracuje správně, dej to na zkoušku do action.
//EDIT: a předka volej jako první část konstruktoru, dost možná se tam něco registruje.
Editoval Mikulas Dite (3. 3. 2010 16:40)
- Ondřej Mirtes
- Člen | 1536
Jedná se o Presenter? Jeho konstruktor bys vůbec neměl přepisovat. Dej tuhle logiku do metody startup().