http://mysite/test/article-1
и
// Route on Test
Route::set('Test', 'test/<alias>',array('alias'=>'\D+'))
это будет работать только для http://mysite/test/article, как сделать это более правильно и так чтобы alias не начинался с цифры?
http://mysite/test/article-1
// Route on Test
Route::set('Test', 'test/<alias>',array('alias'=>'\D+'))
Цитата (Stasonix @ 31.07.2013 - 09:57) |
это будет работать только для http://mysite/test/article |
Route::set('Test', 'test/<alias>',array('alias'=>'\D+'))
Route::set('Test', 'test/article-<alias>',array('alias'=>'\d+'))
->defaults(array(
//'directory' => 'directory_name',
'controller' => 'controller_name',
// 'action' => 'action_name'(без префикса action)
));
Route::set('Test', 'test/article-<alias>',array('alias'=>'\d+'))
Цитата |
То есть для роута нужно определить как минимум контроллер |
Route::set('Test1', 'test/<id>',array('id'=>'\d+'))
->defaults(array(
'controller' => 'test'
));
Route::set('Test2', 'test/<alias>')
->defaults(array(
'controller' => 'test',
'action' => 'article'
));
Route::set('Test', 'test/<uri>')
->defaults(array(
'controller' => 'test'
))
->filter(
function(Route $route, $params, $request){
if(!preg_match('/^\d+$/', $params['uri'])){ // (int)$params['uri'] == 0
$params['action'] = 'article';
}
return $params;
}
);
Цитата (Stasonix @ 31.07.2013 - 12:35) |
SoMeOnE Ничем оно мне не поможет |