VisualPaginator – vyšší stránka než je možná má házet 404
- Jiří Nápravník
- Člen | 710
Řešíte nějak u VisualPaginatoru, že pokud je maximální počet stránek třeba 10 a někdo přepíše v adresním rářku na 100, tak aby to neukazovalo poslední stránku, ale vyhodilo 404?
Vzhledem k tomu, že paginator se o tom, kolik je prvků a jaké má stránky dozví v presenteru v action, tak na posledním řádku kontroluji, zda sedí persistentní parametr visualPaginatoru a ->getPage z Nette Paginatoru. Ale přeci jen nechce se mi na to pořád pamatovat. Jde to nějak řešit přímo v komponentě? Dát to do attached je moc brzo, v render je to pozdě…
- vitkutny
- Člen | 73
Taky to řeším, ale 404 nevyhazuji. Jelikož záznamy na stránce můžou i ubývat a při přístupu na X tou stránku která předtím existovala namísto 404 přesměruji na existující stránku
parametr zvaliduji (případně přepíši) v metodě saveState a loadState
komponenty/presenteru
https://github.com/…/Control.php#…
(v tomhle konkrétním případě se vše děje
v Nette\Utils\Paginator::set/getPage)
o přesměrování se následně postará kanonizace v Presenteru
https://github.com/…resenter.php#…
Editoval vitkutny (13. 4. 2016 23:15)
- Jiří Nápravník
- Člen | 710
Díky za tip. LoadState jsem tam měl, saveState ne, a ten to řeší. Jenom ještě jedna věc, šlo by to nějak ošetřit, aby to fungovalo i pokud naplním ten paginator v render metodě v presenteru? Já totiž primárně používám renderMetody, actionMetody jen vyjimecne