Route::set('applications', 'applications(/<url>)', array('url' => '.+'))
->defaults(array(
'controller' => 'subject',
'action' => 'index',
));
Route::set('web', 'web(/<url>)', array('url' => '.+'))
->defaults(array(
'controller' => 'subject',
'action' => 'index',
));
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'main',
'action' => 'index',
));
Из всего этого следует что юзер перейдя по ссылкам mysite/web и mysite/application попадает (условно) на контролллер subject и метод action_index.
Вопрос, как сделать так чтобы если юзер перейдя по всем остальным ссылкам вида:
mysite/A
mysite/B
...
mysite/Z
т.е. разным всяким, попадал в этот же контроллер subject, но уже в другой метод, допустим метод test? Но 1-ые два роута должны все-равно срабатывать?
Спустя 32 минуты, 5 секунд (2.09.2012 - 12:38) Семён написал(а):
Расположить роуты примерно таким образом:
Route::set('applications', 'applications(/<url>)', array('url' => '.+'))
->defaults(array(
'controller' => 'subject',
'action' => 'index',
));
Route::set('web', 'web(/<url>)', array('url' => '.+'))
->defaults(array(
'controller' => 'subject',
'action' => 'index',
));
Route::set('all', '<url>', array('url' => '.+'))
->defaults(array(
'controller' => 'subject',
'action' => 'other_action',
));
Спустя 26 минут, 29 секунд (2.09.2012 - 13:05) Stasonix написал(а):
Спасибо, разобрался! Но все-равно, еще будут вопросы, сложная тема!
Спустя 14 минут, 51 секунда (2.09.2012 - 13:20) Stasonix написал(а):
Хотя вот 1-ый камень, нужно взять имя текущего получается роута, т.е. если пользователь перешел по mysite/A, то как взять в контроллере это имя A?
С предыдущими двумя роутами это было реализовано вот так:
Но если я применю это к all, то в имени, оно мне и выведет all, а нужно A.
С предыдущими двумя роутами это было реализовано вот так:
// определяем имя роута
$current_route = Request::$current->route(); // объект Route
$current_route_name = Route::name($current_route); // название маршрута
Но если я применю это к all, то в имени, оно мне и выведет all, а нужно A.
Спустя 21 минута, 23 секунды (2.09.2012 - 13:41) Stasonix написал(а):
Ладно, само дошло:
$url = $this->request->param('url');