ErrorPresenter – načítavanie šablóny 500.phtml
- patriksimonic
- Člen | 3
Ahoj, mmám otázku – stiahol som najaktuálnejšie nette/web-project a spustil. Všetko šlape, avšak, pokiaľ vyvolám chybu 500 tak mi to načítava šablónu 500.phtml z vendoru, nie z app/presenters/templates/Error/500.phtml.
Pritom, v ErrorPresenter.php mám definované DIR . ‚/templates/Error/500.phtml‘;
Je nejaká cesta akou sa to dá fixnúť?
Vďaka.
- enumag
- Člen | 2118
Pokud vím tak ne. Chyba 500 je poněkud moc fatální na to aby se dala dobře ošetřovat. Teda ne že by to vysloveně nešlo – přes vlastní error handler a exception handler se to vyřešit dá, ale nevím o tom že by to někdo dělal – snaha je spíše odstranit z aplikace veškeré chyby 500.
- patriksimonic
- Člen | 3
Dakujem za odpoved. Po tom ma ale zaujima, preco je spristupnena tato 500.phtml sablona aj v /app, ked predtym bola len priamo vo vendore. Takisto sa tato sablona podla ErrorPresenter aj nacitava. Ked ju vsak zmenim – napr. chcem vypisat nieco ine, nacitava sa sablona z /vendor.
- Martk
- Člen | 661
Stačí v bootstrap.php přesměrovat https://api.nette.org/…ger.php.html#104 na vlastní speciálně vytvořenou šablonu pro tento případ.
ErrorPresenter app je tam z toho důvodu, aby odchytával převážně 4xx chyby, to že někdy chytne nějakou tu 500 je jen bonus.
Editoval Antik (17. 6. 2016 23:54)
- David Grudl
- Nette Core | 8228
Eh… ErrorPresenter žádné chyby 400 nebo 500 neodchytává, on je generuje.
@patriksimonic jakou chybu a kde vyvoláváš? Pokud je to v bootstrapu dříve, než se nastartuje Nette\Application, tak ji zachytává Tracy a Error presenter nemá na nic vliv.