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
Ahoj,
rád bych Vás požádal o radu.
- mám vyhledávací formulář v komponentě
- podle ostatních informací na fóru odesílám na presenter Search pomocí GET
- rád bych, aby se mi např. při vyhledání jihomoravsky-kraj přidal indentifikátor do url
- 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
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));
}