Odeslání formuláře pomocí get

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

Ahoj, odesílám vyhledávací formulář pomocí get, který se odešle a vypíše se ve tvaru ?find=něco&do=search-form-submit, nevíte prosím jak docílit toho aby se mi odeslal takto: /hledat/hledane-spojeni/ ?

přikládám komponentu

function createComponentForm() {
         $form = new Form();

        $form->setMethod('GET');

        $form->addText('find', 'Hledej:');
        $form->addSubmit('send', 'Vyhledat');

        $form->onSuccess[] = callback($this, 'searchSubmitted');
        $renderer = $form->getRenderer();

        return $form;
    }

Předem děkuji za odpověd
Míra

Majkl578
Moderator | 1364
+
0
-

Správné řešení je po odeslání formuláře POSTem zpracovat a přesměrovat.

mkoubik
Člen | 728
+
0
-

Presenter:

protected function createComponentForm()
{
	    $form = new Form();
	    $form->addText('find', 'Hledej:');
	    $form->addSubmit('send', 'Vyhledat');
	    $form->onSuccess[] = callback($this, 'searchSubmitted');
	    return $form;
}

public function searchSubmitted(Form $form)
{
	$find = $form['find']->getValue();
	$this->redirect('search', array('find' => $find));
}

public function renderSearch($find)
{
	// ...
}

Router:

$router[] = new Route('hledat/<find .*>', array('presenter' => '...', 'action' => 'search'));