我拉我的頭髮就這一個。我正在使用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