Error presenter a persistentni parametry

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

Prenaseji se do error presenteru persistentni parametry?

Mam FrontPresenter, ktery ma persistentni parametr lang.
Od neho 2 potomky presentery PagePresenter a ErrorPresenter

V page presenteru pokud neni stranka vyhodim BadRequestException a chci ji v ErrorPresenteru zachytit a rad bych mel k dispozici parametr lang… ted jak se ta moje aplikace tvari (a debuger nove taky) tak tam neni nastaven. Nevite jestli to je feature nebo delam neco spatne? Pracujete v errorPresenteru s persistentnimi parametry?

kravčo
Člen | 721
+
0
-

Perzistentné parametre sa prenášajú cez URL – ich rozdiel oproti normálnym parametrom je akurát ten, že ich netreba uvádzať v odkazoch (doplnia sa automaticky) – viď Davidove vysvetlenie.

Vyhodením výnimky sa perzistentný parameter tým pádom preniesť nemôže – čo sa mi zdá korektné správanie, každopádne prenos jazyka medzi aplikáciou a error prezenterom je ako feature request myslím opodstatnený.

Zatiaľ to môžeš vyriešiť tak, že takéto parametre si uložíš aj do session, kde si ich error prezenter vytiahne sám ak bude treba…

LM
Člen | 206
+
0
-

Zkus se podívat na metodu Application::getRequests(), je to pole všech requestů, kde jsou všechny tyto parametry.

washo
Člen | 88
+
0
-

kravco napsal(a):

Perzistentné parametre sa prenášajú cez URL – ich rozdiel oproti normálnym parametrom je akurát ten, že ich netreba uvádzať v odkazoch (doplnia sa automaticky) – viď Davidove vysvetlenie.

Vyhodením výnimky sa perzistentný parameter tým pádom preniesť nemôže – čo sa mi zdá korektné správanie, každopádne prenos jazyka medzi aplikáciou a error prezenterom je ako feature request myslím opodstatnený.

Zatiaľ to môžeš vyriešiť tak, že takéto parametre si uložíš aj do session, kde si ich error prezenter vytiahne sám ak bude treba…

No tam se nedeje zadny redirect ale proste se zacne zpracovavat ten error presenter, takze session by nemely byt potreba proste si to ulozim do nejake globalnejsi promenne, ale myslim si, ze kdyz je error presenter potomkem nejakeho presenteru s persistentnim parametrem tak mak by mel byt persistentni i u toho error presenteru.

washo
Člen | 88
+
0
-

LM napsal(a):

Zkus se podívat na metodu Application::getRequests(), je to pole všech requestů, kde jsou všechny tyto parametry.

No problem je ze tu jazykovou detekci mam ve startupu FrontPresenteru a ten vubec neprepisuju v tom error presenteru. Takze bych musel nejak potom v tom startupu resit jestli nebezi error presenter a chovat se nejak jinak coz mi prijde jako zvlastni postup.

Jod
Člen | 701
+
0
-

Skús si spraviť v error presenteri getter a setter ktoré budú vracať jazyk z requestu.