Pagination クラス

pagination クラスは、表示するレコードのページ送りを簡単に設定できます。

使い方

Pagination クラスを使う簡単な例です。この例では、set_config メソッドを使用しています。コントローラのアクションメソッドの中で使うことができます。

$config = array(
	'pagination_url' => 'http://localhost/fuel/welcome/index/',
	'total_items' => 10,
	'per_page' => 5,
	'uri_segment' => 3,
	'template' => array(
		'wrapper_start' => '<div class="my-pagination"> ',
		'wrapper_end' => ' </div>',
	),
);

// Config::set('pagination', $config); // you can use this too!
Pagination::set_config($config);

$data['example_data'] = DB::select('id', 'value')->from('pagination')
												->limit(Pagination::$per_page)
												->offset(Pagination::$offset)
												->execute()
												->as_array();

$data['pagination'] = Pagination::create_links();
$this->render('welcome/index', $data);

設定

ページ送りの設定をするには、set_config メソッドを使用するか、global config array を設定するか、の二つの方法があります。

以下の設定が定義できます。

Param Type Default Description
pagination_url string ページ送りのあるページの URL
uri_segment integer
3
ページ番号を含む URI セグメント
num_links integer
5
表示するリンクの最大数
total_items integer
0
アイテムの最大数。通常は count() クエリの結果。
per_page integer
10
1 ページのアイテム数
current_page integer
null
URI にページ番号がない場合に読み込むページ。指定されない場合のデフォルト値は 1
template array
array(...)
ページ送り要素を作成する HTML マークアップを含む連想配列。(デフォルト値を持つ配列キーの一覧は Global Config Array セクションを参照。)

Global Config Array

このメソッドでは、global config array を設定することで、ページ送り設定を設定できます。

Config::set('pagination', array(
	'pagination_url' => 'http://docs.fuelphp.com/',
	'uri_segment' => 2,
	'total_items' => 10,
	'per_page' => 20,
	'template' => array(
		'wrapper_start' => '<div class="pagination"> ',
		'wrapper_end' => ' </div>',
		'page_start' => '<span class="page-links"> ',
		'page_end' => ' </span>',
		'previous_start' => '<span class="previous"> ',
		'previous_end' => ' </span>',
		'previous_inactive_start' => ' </span class="previous-inactive">',
		'previous_inactive_end' => ' </span>',
		'previous_mark' => '« ',
		'next_start' => '<span class="next"> ',
		'next_end' => ' </span>',
		'next_inactive_start' => ' </span class="next-inactive">',
		'next_inactive_end' => ' </span>',
		'next_mark' => ' »',
		'active_start' => '<span class="active"> ',
		'active_end' => ' </span>',
		'regular_start' => '',
		'regular_end' => '',
	),
));

set_config(array $config)

set_config メソッドでは、配列を渡すことでページ送り設定ができます。

Static はい
パラメータ
Param デフォルト 説明
$config 必須 設定配列
返り値 void
Pagination::set_config(array(
    'pagination_url' => 'http://docs.fuelphp.com/',
	'uri_segment' => 2,
	'total_items' => 10,
	'per_page' => 20,
	'template' => array(
		'wrapper_start' => '<div class="my-pagination-class"> ',
		'wrapper_end'   => ' </div>',
	),
));

create_links メソッドは、ビューでページ送りリンクを生成します。

Static はい
パラメータ
返り値 mixed
echo Pagination::create_links();

next_link メソッドは、ページ送りの "次へ" リンクを表示します。

Static はい
パラメータ
Param デフォルト 説明
$value 必須 リンクで表示する文字列
返り値 mixed
echo Pagination::next_link('Next Page');

prev_link メソッドは、ページ送りの "前へ" リンクを表示します。

Static はい
パラメータ
Param デフォルト 説明
$value 必須 リンクで表示する文字列
返り値 mixed
echo Pagination::prev_link('Previous Page');

page_links メソッドは、ページ送りの前へリンクと次へリンクの間にページリンクを表示します。

Static はい
パラメータ
返り値 mixed
echo Pagination::page_links();