我拉我的头发就这一个。我正在使用CodeIgniters分页库,现在它始终停留在第1页作为当前页面。我检查了一堆StackOverflow问题,并没有像其他人一样的问题。笨分页第一页始终是当前页面
这里是我的URL结构
website.com/leaders/page/[page_number]
这里是我的控制器
$this->load->library('pagination');
$config['per_page'] = $query_config['limit'];
$config['base_url'] = base_url() . 'leaders/page/';
$config['total_rows'] = 2000; // I actually use a function for this number
$config['full_tag_open'] = '<div id="paginate">';
$config['full_tag_close'] = '</div>';
$config['first_link'] = '« First';
$config['last_link'] = 'Last »';
$config['use_page_numbers'] = true;
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
分页代码时,我呼应,它看起来像它的工作原理视图的分页。每个链接上的网址都是正确的,一切都很正常。最后一个链接显示最后一页网址,当前页面为1.然而,当我点击页面2或分页中的任何其他页面时,它仍然显示第1页作为当前页面,即使url如下
website.com/leaders/page/2
我用$this->uri->segment(3)
抢我的数据库查询的页面数量,以便页码为右段。只是为了确认一下,我将$config['uri_segment']
的值设置为1,2,3,4,5,6。
我发现了问题,而写这一点,但我仍然感到困惑
后来我想也许有一些事情与URL本身,因为我有在控制器将其引导到索引方法的途径。下面是我的路线文件看起来像
routes.php文件
$route['leaders/page/(:num)'] = 'leaders/index';
$route['leaders/page'] = 'leaders/index';
然后我尝试设置为BASE_URL分页配置到它直接发送到索引像这样:
$config['base_url'] = base_url . 'leaders/index';
现在它似乎正常工作。但是,如何使它与我以前的url结构一起工作呢?我只是觉得它看起来更好,我并不真的需要一个控制器的方法。在我的routes.php文件中是否有冲突?
感谢
嗨rafi_ccj,感谢您的答复,但问题似乎是在分页类中处理路由的方式。我改变了base_url配置指向索引而不是页面,并且没有修改它完美工作的代码。 – JoeMoe1984