widget funguje na každé stránce KROM na errorPresenteru, důvod?

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

{widget checkDomain} Mi funguje všude.

<?php
/tarify?do=checkDomain-submit
/reference?do=checkDomain-submit
/s/monitoring?do=checkDomain-submit
/affilate/default?do=checkDomain-submit
/objednavka/?do=checkDomain-submit
// prostě všude..
// ALE jakmile se aktivuje errorPresenter (404) tak to nejde?!
action="error: No route for Error:default(do=checkDomain-submit)"
?>

Jak toto chování opravit? Měl jsem za to, že widget (třeba pro vyhledávání na stránce) by měl fungovat všude.. A pokud se zobrazí /404/ tak nejde.

Určitě to je nějaká hloupost s routama..
Pokud všechny routy smažu, tak to funguje:

<?php
*/?do=checkDomain-submit&amp;presenter=Error`*
/?page=technicka-podpora&amp;do=checkDomain-submit&amp;presenter=Page
atd…
?>
MzK
Člen | 127
+
0
-

No, protože to souvisí s routama, tak je tedy sem postnu:

<?php
$router = Environment::getApplication()->getRouter();

$router[] = new Route('index.php', array(
	'presenter' => 'Default',
	'action' => 'default',
), Route::ONE_WAY);

$router[] = new Route('', array(
    'presenter' => 'Default',
	'action' => 'default',
));


$router[] = new Route('sitemap.xml', array(
    'presenter' => 'Sitemap',
	'action' => 'default',
));

$router[] = new Route('robots.txt', array(
    'presenter' => 'RobotsTxt',
	'action' => 'default',
));


$router[] = new Route('/404/', array(
    'presenter' => 'Eror',
    'action' => 'default',
));

$router[] = new Route('objednavka/<domain>', array(
    'presenter' => 'Domain',
    'action' => 'default',
	'domain'=> NULL
));

$router[] = new Route('aff/<id>', array(
    'presenter' => 'Aff',
    'action' => 'default',
	'id'=> NULL
));

$router[] = new Route('objednavka2/<domain>', array(
    'presenter' => 'Domain',
    'action' => 'registertwo',
	'domain'=> NULL
));

$router[] = new Route('objednavka3/final', array(
    'presenter' => 'Domain',
    'action' => 'final',
));

$router[] = new Route('<page>', array(
    'presenter' => 'Page',
    'action' => 'default',
));


$router[] = new Route('s/monitoring', array(
    'presenter' => 'Monitoring',
    'action' => 'default',
));

$router[] = new Route('affilate/default', array(
    'presenter' => 'Affilate',
    'action' => 'default',
));

$router[] = new Route('affilate/admin', array(
    'presenter' => 'Affilate',
    'action' => 'admin',
));
?>

Děkuji.

SyXcz
Člen | 75
+
0
-

píšeš

<?php
$router[] = new Route('/404/', array(
    'presenter' => 'Eror',
    'action' => 'default',
));
?>

ty lomítka tam mít nemusíš (aspoň si to myslim) a hlavně ti tam chybí jedno „r“

<?php
$router[] = new Route('404', array(
    'presenter' => 'Error',
    'action' => 'default',
));
?>

popř. máš nastavenej Error Presenter v bootstrapu ?

Editoval SyXcz (1. 4. 2010 20:30)

MzK
Člen | 127
+
0
-

Error presenter v bootstrapu je,

<?php
$application->errorPresenter = 'Error';
//$application->catchExceptions = TRUE;
$application->catchExceptions = Environment::isProduction();
?>

To „e“ jsem opravil, ale stále je divné, že komponenta nefunguje, pokud se aktivuje error Presenter..
Ten error Presenter je nějak speciální než ostatní presentery?