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 を設定するか、の二つの方法があります。
以下の設定が定義できます。
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()
create_links メソッドは、ビューでページ送りリンクを生成します。
Static |
はい |
パラメータ |
無 |
返り値 |
mixed |
例 |
echo Pagination::create_links();
|
next_link($value)
next_link メソッドは、ページ送りの "次へ" リンクを表示します。
Static |
はい |
パラメータ |
Param |
デフォルト |
説明 |
$value |
必須 |
リンクで表示する文字列 |
|
返り値 |
mixed |
例 |
echo Pagination::next_link('Next Page');
|
prev_link($value)
prev_link メソッドは、ページ送りの "前へ" リンクを表示します。
Static |
はい |
パラメータ |
Param |
デフォルト |
説明 |
$value |
必須 |
リンクで表示する文字列 |
|
返り値 |
mixed |
例 |
echo Pagination::prev_link('Previous Page');
|
page_links()
page_links メソッドは、ページ送りの前へリンクと次へリンクの間にページリンクを表示します。
Static |
はい |
パラメータ |
無 |
返り値 |
mixed |
例 |
echo Pagination::page_links();
|