FuelPHPでは、Pagination クラス を利用してページングを実装します。
以下は、Admin Scaffoldで作成したCompanyというモデルを一覧するindexアクション内のページングのコードです。
このページでは、検索条件は指定せず全件を対象としています。
Bootstrapを適用するには、ハイライトされている2行を追加するだけです。
[php highlight=”12,13″]
public function action_index($page = 1)
{
$par_page = 10;
$query = Model_Company::query();
$config = array(
‘pagination_url’ => Uri::base(false).’admin/company/index/’,
‘total_items’ => $query->count(),
‘per_page’ => $par_page,
‘uri_segment’ => count(explode(‘/’, Uri::base())),
‘current_page’ => (int)$page,
‘name’ => ‘bootstrap’,
‘wrapper’ => ‘<ul class="pagination">{pagination}</ul>’,
);
$pagination = Pagination::forge(‘mypagination’, $config);
$data[‘pagination’] = $pagination;
$data[‘companies’] = $query->offset(($page-1)*$par_page)->limit($par_page)->get();
…
}
[/php]
ビューは、以下のコードを変更する必要はありません。
[php]
<?php echo Pagination::instance(‘mypagination’)->render(); ?>
[/php]