Proměnná z formuláře do URL

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

Ahoj,

rád bych Vás požádal o radu.

  1. mám vyhledávací formulář v komponentě
  2. podle ostatních informací na fóru odesílám na presenter Search pomocí GET
  3. rád bych, aby se mi např. při vyhledání jihomoravsky-kraj přidal indentifikátor do url
  4. kraje jsou ale ve formuláři jako array, takže pouze pokud je zvolen jen jeden kraj je nutné vložit do URL

Můj prozatímní kód vypadá takto:

<?php
Router
$frontRouter[] = new Route('[<lang [a-z]{2}>/]nabidka[/<locality>]', array('lang' => 'cs', 'presenter' => 'Search', 'action' => 'default', 'locality' => 'all'));


Presenter
	/** @persistent */
	public $locality = 'all';

	public function renderDefault($locality = 'all')
?>

Nevím ani, zda-li je něco takového možné udělat. Budu vděčný za rady.

Díky

Editoval Phalanx (15. 10. 2013 8:46)

sKopheK
Člen | 207
+
0
-

V metodě po úspěšném odeslání a validaci jednoduše přesměruj na novou URL s tou lokalitou.
Formuláře s odesíláním přes GET nepoužívám, ale pokud to funguje stejně jako s POST, tak by mělo fungovat toto:

function afterSubmit($form)
{
	$values = $form->getValues();
	$this->presenter->redirect('default', array('locality' => $values->locality));
}