我希望paginate我的索引http:localhost / mysite / home但是如果我只写这个http:localhost / mysite / home页面说:“找不到页面”,但如果我写的是http:localhost / mysite / home / 3它的工作!如何配置我的路由以获取空参数?我尝试了(:any)和(num)但没有工作
我的路线档案是:
$route['404_override'] = 'welcome/no_found';
$route['home/'] = "welcome/home/$1";
我的控制器:
$config['base_url'] = base_url().'/mysite/home';
$config['total_rows'] = $this->mtestmodel->countNews();
$config['per_page'] = 2;
$config['num_links'] = 20;
$this->pagination->initialize($config);
$data['paginator']=$this->pagination->create_links();
$data['news']=$this->mtestmodel->show_news( $config['per_page'],intval($to) );
// $ to是url base_url()/ mysite / home / 3
中的参数答案 0 :(得分:1)
将您的route.php
文件更改为以下内容:
$route['404_override'] = 'welcome/no_found';
$route['home/(:num)'] = "welcome/home/$1";
$route['home'] = "welcome/home";
这样,您的应用程序将捕获这两个请求(http://localhost/mysite/home
和http://localhost/mysite/home/3
),并将它们发送给您的控制器。
然后,您应该能够访问$to
变量(已作为第一个参数传递到控制器的函数中)或使用$this->uri->segment(2)
代替。
e.g。
public function home($to = 0) {
$config['base_url'] = base_url().'/mysite/home';
$config['total_rows'] = $this->mtestmodel->countNews();
$config['per_page'] = 2;
$config['num_links'] = 20;
$this->pagination->initialize($config);
$data['paginator'] = $this->pagination->create_links();
$data['news'] = $this->mtestmodel->show_news( $config['per_page'],intval($to) );
}
希望有所帮助!