Vyhledávací formulář v error presenteru nevyhledává

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

Mám BasePresenter, v něm definovaný vyhledávací formulář a jeho zpracování:

protected function createComponentSearchForm()
{
	$form = new Form;
	$form->addText('term', 'Hledat')->getControlPrototype()->class('search');
	$form->addSubmit("search", "Vyhledat");
	$form->onSuccess[] = $this->processSearchForm;

	return $form;
}


public function processSearchForm(Form $form)
{
	$this->redirect('Search:default', $form->values->term);
}

Mám ErrorPresenter, který je potomkem BasePresenteru. Když vlezu na neexistující adresu xy.cz/neexistuje, zobrazí se správně chybová stránka (podle template 404), zobrazí se správně vyhledávací formulář, který je v layoutu.

Pokud zkusím z této „chybové“ stránky něco vyhledat, nic se neprovede – skončím na stejné stránce. Dumpnu-li výjimku, která přichází do ErrorPresenteru, dostávám odpovídající BadRequestException s chybou „Cannot load presenter ‚Front:Neexistuje‘“ – to by odpovídalo.

Předpokládám, že díky té výjimce nedojde ke pracování formuláře.

Zatím jediné, co mě napadlo, je nastavit v BasePresenteru action přímo a změnit metodu formuláře na GET, ale moc se mi to nelíbí.

Co se s tím dá dělat jiného?