我尝试使用路线创建应用,但是当我传递2个参数时,没有任何反应。该功能未被触发。
当我使用1个参数时,它可以工作:
$route['category_(:any)'] = 'category/categoryDetails/$1';
$route['category_(:any)/(:any)'] = 'category/categoryDemandeDetails/$1/$2';
并在我的控制器中:
public function categoryDetails($name){
$data = array('page' => 'category', 'categoryName' => $name);
$this->load->view('category', $data);
}
public function categoryDemandeDetails($name, $demande){
$data = array('page' => 'category', 'categoryName' => $name);
$this->load->view('demande', $data);
}
你能帮我吗?
答案 0 :(得分:0)
第一条路线将捕获所有以category_
开头的请求,包括应该路由到第二条路线的所有请求。这是因为(:any)
将捕获任何,包括多个参数,因此第二条路线永远不会按此顺序使用。
路线将按照定义的顺序运行。较高的路线总是优先于较低的路线。
您只需要更改路线的顺序:
$route['category_(:any)/(:any)'] = 'category/categoryDemandeDetails/$1/$2';
$route['category_(:any)'] = 'category/categoryDetails/$1';