Nette vlastni routy do modulů

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

Mam takto strukturovanou aplikaci.
Mam modul Admin a modul Front. viz obrazek: http://www.jpeg.cz/…rom.png.html
Pro to jsem nastavil routy takto:

<?php
$router[] = new NRoute('index.php', array('module' =>'Front', 'presenter' => 'Frontend', 'action' => 'default'), NRoute::ONE_WAY);

$router[] = $adminRouter = new NMultiRouter('Admin');
$adminRouter[] = new NRoute('admin/<presenter>/<action>[/<id>]', array('module' => 'Admin', 'presenter' => 'Admin', 'action' => 'default', 'id' => NULL));


$router[] = $frontRouter = new NMultiRouter('Front');
$frontRouter[] = new NRoute('<presenter>/<action>[/<id>]', array('module' => 'Front','presenter' => 'Frontend', 'action' => 'default'));

?>

Kdyz jsem ted ale chtel udelat akci ktera by mela url:
/vi/cokoliv nazev/INT ID

zkusil jsem routu takto:

<?php
$adminRouter[] = new NRoute('vi/(.*)/<id>', array('presenter' => 'Display', 'action' => 'display', 'id' => NULL));
?>

Jen to zkoncilo na: BadRequestException #404
Melo by to jit do modulu=Admin Presenter=Display a idcko mu predat

Dal bych chtel routu ktera by sla do modulu module=Front presenter=Clanek a id clanku
url ve smyslu /clanek/nazevclanku-INT ID

Diky

Filip Procházka
Moderator | 4668
+
0
-

To bude tím, že takhle routy vůbec nefungují. Nemůžeš si jen tak dát do url (.*) musíš to dát do parametru a ten pojmenovat, jinak to bude escapováno.