我正在尝试将分页整合到kohana中,但不知道如何整合它。以下是控制器功能
public function action_index() {
//setup the model and view
$_users = Model::factory('users');
$us = $_users->get_users();
$view = View::factory('users/index')->bind('user_list', $us);
$this->template->set('content',$view);
}
如何在此功能中添加分页? 我找到了一些分页代码但无法集成它。这是我找到的功能
$this->pagination = new Pagination(array(
'base_url' => 'users/index/',
'uri_segment' => 'page',
'total_items' => count($items->get_item_count())
请帮帮我
编辑: 我试过像
这样的东西public function action_index(){
$query = DB::select()->from('user');
// count number of users
$total_users = count($query);;
// set-up the pagination
$pagination = Pagination::factory(array(
'total_items' => $total_users,
'items_per_page' => 10, // this will override the default set in your config
));
// select rows using pagination's limit&offset
$users = $query->offset($pagination->offset)->limit($pagination->items_per_page)->execute();
$view = View::factory('users/index')->bind('user_list', $users)->bind('pagination', $pagination);
$this->template->set('content',$view);
}
现在没有发现错误但是分页没有显示出来。使用@DanielThompson建议的shadowhand's pagination模块
答案 0 :(得分:4)
我使用支持Kohana 3+的shadowhand's pagination module,只需确保您获得与Kohana版本相同的分支,然后将其添加到您的模块目录中。
更新您的application/bootstrap.php
文件:
Kohana::modules(array(
// ...
'pagination' => MODPATH.'pagination'
));
将modules/pagination/config/pagination.php
复制到application/config/pagination.php
在您的控制器操作中(例如用户):
// count number of users
$total_users = ORM::factory('User')->count_all();
// set-up the pagination
$pagination = Pagination::factory(array(
'total_items' => $total_users,
'items_per_page' => 10, // this will override the default set in your config
));
// get users using the pagination limit/offset
$users = ORM::factory('User')->offset($pagination->offset)->limit($pagination->items_per_page)->find_all();
// pass the users & pagination to the view
$this->view->bind('pagination', $pagination);
$this->view->bind('users', $users);
在您看来:
// loop over users
foreach($users as $user) {
// ...
}
// display pagination view using
echo $pagination;
该模块带有两个视图:基本或浮动,在配置文件中设置。您也可以为您的应用程序创建一个自定义的。