Jiny presenter pri nesplneni aspon jedne podminky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- tomaskrejci
- Člen | 25
Zdravim,
mam routu napr. viz nize, ktera spousti presenter kategorie. Problem je, ze bych
potreboval odkazat na presenter kategorie pouze, pokud je splnena alespon jedna
z nepovinnych podminek. Pokud nebude zadna, poslat na Homepage presenter. Jak
to udelat?
$router[] = new Route('[/kategorie/<catId>][/dalsiKriterium/<kritId>][/necoDalsiho/<dalsiId>]', array(
'module' => 'Front',
'presenter' => 'Category',
'action' => 'default',
...
));
Diky.
- tomaskrejci
- Člen | 25
Asi jsem to spatne vysvetlil. Dam konkretnejsi priklad. Tyto URL potrebuji smerovat na presenter Category:
/kategorie/srouby/
/kategorie/srouby/material/zinek/
/material/zinek/
Jednotliva kriteria se mohou vzajemne kombinovat, ale zadne z nich neni povinne. Tedy, alespon jedno ano, jinak se spusti homepage presenter. Nejde mi o presmerovani ale o spusteni spravneho presenteru.
Diky
- David Matějka
- Moderator | 6445
a nestacilo by proste pred tuhle routu pridat /
routu pro
homepage?
jinak bys taky mohl pouzit filtry:
$router[] = new Route('[/kategorie/<catId>][/dalsiKriterium/<kritId>][/necoDalsiho/<dalsiId>]', array(
'module' => 'Front',
'presenter' => 'Category',
'action' => 'default',
NULL => array(
Route::FILTER_IN => function($params) {
if(!isset($params['kritId']) && !isset.....) {
return null;
}
return $params;
}
)
...
));