Chybné action v errorPresenteru

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

Dobrý den,
používám skeleton z verze 2.0 pro PHP 5.2 a v bootstrapu mám zapnuto odchytávání vyjímek a nastaveno routování:

<?php
  ...
  $application->errorPresenter = 'Error';
  $application->catchExceptions = TRUE;
  ...
  $router[] = new NRoute('<presenter>/<action>/<id>', array(
    'presenter' => 'Homepage',
    'action'    => 'default',
    'id'        => NULL,
  ));
  ...
?>

V případě špatně zadaného presenteru dojde ke korektnímu zobrazení chyby 404 z errorPresenteru, ale pokud je presenter dobře a je zadaná neexistující action, dojde k zobrazení nette 500 na místo mé 404(500) z errorPresenteru. Podařilo se mi zjistit, že se v errorPresenteru hledá ona neexistující akce, tedy neexistující šablona a proto je zobrazena nette 500.

Jak mohu zajistit, aby se při špatně zadané action, zobrazila má vlastní chybová hláška, která se zpracovává v renderDefault v errorPresenteru (neupravovaný ze skeletonu)?

Děkuji za pomoc.

bojovyletoun
Člen | 667
+
0
-

mě to jde Ok. Zkus si hodit na začátek renderDefault v ErrorPresenteru var_dump($exception->__toString());, jestli je to fakt BadRequestException, podle toho se kód větví (níže).(níže)

Jo a ještě: pokud se zobrazí 500, tak se podívej do složky, log, protože takové chyby se logují

Editoval bojovyletoun (4. 1. 2011 12:59)

oh
Člen | 2
+
0
-

Moje chyba, omlouvám se! Daný problém vznikl použitím „patche“, z důvodu špatného generování odkazů viz. https://forum.nette.org/…ovani-odkazu?…