Administrácia – login/redirect dilema
- Peppy
- Člen | 137
Mám modul (AdminModule), v ňom HomepagePresenter, nadefinované 2 šablóny (default/login.latte)…mám takú dilemu:
Keď prejdem na http://localhost/admin/
tak uvidím login panel
na prihlásenie, user (admin) zadá heslo a meno a malo by ho to redirectnúť
na nejakú adresu http://localhost/admin/XXX
problém je v
„logike“ toho všetkého…lebo ak mám v podstate „hlúpi“ presenter
Homepage, tak načo mi treba nový presenter „Main“ napr…nedalo by sa to
nejak dať dokopy?
- wise
- Člen | 161
Záleží na tobě jaký presenter si u http://localhost/admin/ v bootstrapu nastavíš. Nejlíp zkus poslat ukázku kódu, moc to z toho popisu nechápu.
- Peppy
- Člen | 137
Routa:
$router[] = new Route('admin/<presenter>/<action>[/<id>]', 'Admin:Homepage:default');
Proste si predstav situáciu: Prídeš na adresu
http://localhost/admin/
, tam bude login. Tak sa prihlásiš a ono
by ťa to malo presmerovať, povedzme na
http://localhost/admin/main/
. Lenže to už je druhý presenter
(aspoň teda po mne to hodilo exception). A tak máš presenteri: Homepage,
ktorý v podstate nič nerobí a druhý, Main, ktorý je v podstate hlavná
stránka…
- wise
- Člen | 161
Tak přepiš routu na:
$router[] = new Route('admin/<presenter>/<action>[/<id>]', 'Admin:Main:default');
v MainPresenter
zjisti, jestli je uživatel přihlášený nebo
ne. V případě že není, tak ho přesměruj na třeba
LoginPresenter
, ve kterým se přihlásíš a přesměruješ
zpátky na MainPresenter
.
Tam už přejdeš do větve, že jsi přihlášen a načteš třeba data.
Po přihlášení budeš mít url http://localhost/admin/ a 2 presentery. Main
a
Login
.
Pochopil jsem správně?
Editoval wise (4. 7. 2011 21:12)
- Peppy
- Člen | 137
PHP 5.3 / LoginPresenter, exception:
Nette\Application\BadRequestException #404
Cannot load presenter 'Login', class 'LoginPresenter' was not found in 'C:\xampp\htdocs\root\system\app/presenters/LoginPresenter.php
Routa:
$router[] = new Route('admin/<presenter>/<action>[/<id>]', 'Admin:Main:default');
Editoval Peppy (4. 7. 2011 23:06)
- Peppy
- Člen | 137
Haha…ono to ide! :D :D By ma zaujímalo, kde bola chyba…
a ešte by bola otázka: Ako sa dostanem z jedného namespacu do druhého? Lebo
keď použijem redirect, tak to platí iba v rámci namespace… Teda mám na
mysli ako redirectovať do iného namespacu…
Editoval Peppy (5. 7. 2011 0:35)