Dynamický default parametr v routě
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Droid
- Člen | 92
Zdravím, tvořím jednoduché CMS a mám dotaz. Jak nastavit defaultní parametr nějaké routě ne natvrdo, ale dynamicky z databáze? Mám třeba takovou routu:
$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<slug [a-z0-9_-]+>', array(
'presenter' => 'Page',
'action' => 'default',
'slug' => 'domu' // výchozí hodnota
));
A jde mi o to, jestli nejde výchozí hodnota ‚slug‘ ⇒ ‚domu‘
nastavit dynamicky z databáze, například by se vybral první záznam a
použil se jeho slug.
Samozřejmě to není takový problém to prostě nastavit ručně, spíš mě
to opravdu zajímá :-) Jak jste to řešili vy?
- Droid
- Člen | 92
xxxObiWan napsal(a):
Ahoj, možná jsem nepochopil dotaz, ale myslíš tohle?
$pages_model = new PagesModel(); $frontRouter[] = new Route('<slug [a-z0-9_-]+>', array( 'presenter' => 'Page', 'action' => 'default', 'slug' => $pages_model->getFirstPage()->slug, ));
Přesně tak! Je to čisté řešení? :-)