kohana 3路由问题与控制器动作参数

时间:2010-10-28 06:31:44

标签: routing kohana-3

我在我的模块的init.php中定义了这个路由;


Route::set('store', 'store/<store_id>(/<controller>(/<action>(/<id>)))', 
  array(
    'store_id' => '\d+'
  ))
  ->defaults(array(
    'controller' => 'main',
    'action'     => 'index',
  ));

并且bootstrap.php中的默认路由仍然完好。


Route::set('default', '(<controller>(/<action>(/<id>)))')
    ->defaults(array(
        'controller' => 'welcome',
        'action'     => 'index',
    ));

我的Controller_Item类;


class Controller_Item extends Controller {
    function action_category($category_id)
    {
        echo 'Category ID: '.$category_id;
    }
}

使用http://mydomain.com/item/category/8
输出:

Category ID: 8
他们指出了正确的路由; Controller_Item 和方法 action_category(8)

问题在于使用修改后的路线; http://mydomain.com/store/1/item/category/8 输出:

Category ID: 1
它变为 action_category(1)(它从&lt; store_id&gt;获取参数)

1 个答案:

答案 0 :(得分:2)

按名称获取参数:

$id = $this->request->param('id');