Problem s routou – id v url na konci odkazu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- webdata
- Člen | 153
Zdravim,
Uz jsem prochazel forum a planette a nejak jsem nenasel reseni jde o to ze chci mi následujici tvar URL.
http://www.domena.tld/…-stranky-a54
Pokud tedy zadam jako url http://www.domena.tld/default/page/54
tak chci aby se mi provedlo presmerovani na http://www.domena.tld/…-stranky-a54
V sablone pak definuji odkaz jako {plink Default:page, $id_stranky}
DefaultPresenter
public function actionPage($id, $slug) {
.....
}
Router
$router = new RouteList();
$router[] = new Route('index.php', 'Default:default', Route::ONE_WAY);
$router[] = new Route('[<slug .+>-a]<id>', array(
'presenter' => 'default',
'action' => 'page',
'id' => array(
Route::FILTER_OUT => function($id) use ($connection) {
$row = $connection->table('page')->where('id', $id)->fetch();
return $row->sef_url '-a' . $row->id;
}
),
));
$router[] = new Route('<presenter>/<action>[/<id>]', 'Default:default');
return $router;
Chyba je zrejme v definici „[<slug .+>-a]<id>“
Potrebuji aby to pres {plink Default:page, $id_stranky} vygenerovala neco-p54, a pokud zadam do url default/page/54 aby to presmerovalo na neco-p54. A pak samozrejme aby to do action default posilalo id 54. A to vse bych chtel zaridit jednou routou.
Predem dik za radu
Editoval webdata (28. 1. 2013 16:40)