2013-07-11 4 views
0

Используя Kohana 3.3, я создал интерфейс с вкладками, и я пытаюсь определить, какая вкладка активна на основе параметра маршрута.получение параметра маршрута контроллера

Тестирование с 2 URLs, которые выглядят следующим образом: mysite.com/p/mycontroll и: mysite.com/p/Francis-Lewis/mycontroll

Мой маршрут выглядит так:

Route::set('profile', 'p(/<name>)(/<controller>(/<action>))', array(
     'name'   => '[\w\-]+', 
     'controller' => '[a-z]+', 
     'action'  => '(view|edit|save|delete|create|cancel)', 
    ))->defaults(array(
     'name'   => null, 
     'directory'  => 'profile', 
     'controller' => 'main', 
     'action'  => 'index', 
    )); 

Маршрут сам по себе работает отлично, при выборе контроллера mycontroll. Вот где проблема возникает в В контроллере:.

$this->request->param('controller'); // returns NULL 

По мнению

<?= Request::current()->param('controller') ?> // returns NULL 

После стучал головой вокруг некоторое время, я добавил функцию класса Request Kohana вернуться массив $_params, чтобы увидеть, что там было.

Вот она возвращает:

name => 'Francis Lewis' 

Любые идеи, как получить текущий контроллер?

ответ

1

Существует функция для этого в в запросе объекта:

$this->request->controller(); // Returns the current controller as a String 
0

Если вы абсолютно уверены, что вы хотите, исходный контроллер, то вы можете использовать следующий метод:

Request::initial()->controller(); 

иначе используйте этот метод:

Request::current()->controller(); 
Смежные вопросы