我在我的模块的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;获取参数)
答案 0 :(得分:2)
按名称获取参数:
$id = $this->request->param('id');