routy – misto action slug pro specificky presenter

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

Zdravim. Takto vypada moje nastaveni routy pro vsechny me url, ktere ted vypadaji asi takhle http://www.ddfg.com/presenter/sablona:

$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

Chtel bych, aby adresy u jednoho presenteru (napr. MujPresenter) vypadaly nejak takto:
http://www.ddfg.com/muj/test
ale test by v tomto pripade byl slug, ktery by se zpracoval v metode renderDefault() a dle nej by se nastavila promenna pro obsah

Podle aktualniho nastaveni rout se cast url test bere jako test.latte, coz nechci, chci aby to rozpoznalo slug.

Dekuji

Editoval simPod (7. 12. 2011 1:16)

pawouk
Člen | 172
+
0
-

Do bootstrapu přidej tento řádek jako druhý presenter

$router[] = new Route('muj/<slug>', 'Muj:default');

pak by bootstrap mohl vypadat nejak takto:

$router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$router[] = new Route('muj/<slug>', 'Muj:default');
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

No a pak sjen udelej MujPresenter a v nem actionDefault($slug){…
}

a renderDefault($slug){…
}

simPod
Člen | 383
+
0
-

aaaaa vyborne! Dekuji