我想显示有限的页面链接编号,比如 10 个链接中的 5 个,CodeIgniter 中是否有任何已知或久经考验的方法来实现这一点。
所以假设用户现在可以看到以下链接
prev, 1(selected), 2, 3, 4, 5... next
用户点击,比如说 4,现在他看到了
prev... 3, 4(selected), 5, 6, 7...next
现在他点击了 7
prev... 6, 7(selected), 8, 9, 10...next
如何在代码点火器中执行此操作?
提前谢谢。
有一个
内置的分页类。
在
"库"文件夹中找到分页类并编辑此变量:
var $num_links
codeIgniter提供了一个内置的分页类。您可以在用户指南中找到它。
在要使用分页的函数中将起始索引变量定义为零。
public function pagination($start_index = 0)
{
$result = $this->model->get_results($data); //this $data is the argument which you are passing to your model function. If you are using database to get results array.
$items_per_page = 10; //this is constant variable which you need to define
$filtered_result = array_splice($result, $start_index, ITEM_PER_PAGE_USERS);
$model['$filtered_result'] = $filtered_result;
$total_rows = count($result);
$model['page_links'] = create_page_links (base_url()."/controlelr_name/pagination",ITEM_PER_PAGE_USERS, $total_rows);
$this->load->view('controller_name/view_file_name', $model);
}
function create_page_links($base_url, $per_page, $total_rows) {
$CI = & get_instance();
$CI->load->library('pagination');
$config['base_url'] = $base_url;
$config['total_rows'] = $total_rows;
$config['per_page'] = $per_page;
$CI->pagination->initialize($config);
return $CI->pagination->create_links();
}
此创建页面链接函数是一个通用函数。有关更多说明,请查看用户指南中的分页类......
当您要修复分页页码时,请修改$num_links
:
$config['total_rows'] =100;
$config["num_links"] = 5;
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['first_link'] = false;
$config['last_link'] = false;
它像这样显示:<<2 3 4 5 6 7>>