I use shadowhand's pagination module which supports Kohana 3+, just make sure you grab the same branch as your Kohana version, then add it to your modules directory.
Update your application/bootstrap.php
file:
Kohana::modules(array(
// ...
'pagination' => MODPATH.'pagination'
));
Copy modules/pagination/config/pagination.php
to application/config/pagination.php
In your controller action (e.g. users):
// 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);
In your view:
// loop over users
foreach($users as $user) {
// ...
}
// display pagination view using
echo $pagination;
The module comes with two views: basic or floating which is set in the config file. You could also create a custom one for your application.