Ako na viacej nepovinnych parametrov v route

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

Caute snazim sa urobit routu kde mam viacej nepovinnych parametrov, problem je v tom ze ked niektory parameter ma hodnotu NULL tak sa nasledujuci parameter ktory ma hodnotu doplni za ten co hodnotu nema. Ma tento problem riesenie? Alebo mi neviete poradit ako to riesit?

actionDefault($category = NULL, $transaction = NULL, $city = NULL, $district = NULL)
{

}
$defaultRouter[] = new Route('test[/<category>][/<transaction>][/<district>][/<city>]', array(
	'module' => 'Front',
	'presenter' => 'Homepage',
	'action' => 'default',
));

ked poslem tieto parametre, tak na miesto transaction parametra mi da hodnotu district parametra

$params= array(
	'category'=>13,
	'transaction'=>NULL,
	'district'=>10203,
	'city'=>NULL,
);

$this->redirect('this', $params);
David Matějka
Moderator | 6445
+
0
-

no nette samozrejme nepozna, kterej parametr je pro co :)
treba url test/123 – 123 je co? category, transaction, district nebo city?
reseni je jednoduchy, pred kazdej parametr dat prefix
test[/category/<category>][/transaction/<transaction>][/district/<district>][/city/<city>]

takze ti to vytvori url test/district/10, z cehoz uz nette snadno pozna, k cemu to patri.

Editoval matej21 (28. 8. 2013 23:22)