ErrorPresenter – načítavanie šablóny 500.phtml

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

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
+
0
-

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
+
0
-

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 | 656
+
+1
-

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 | 8152
+
0
-

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.