「Paginationのために
Webアプリに欠かせない「ページ繰り」は自前でやるのは面倒!
ページ繰りとは,
複数のデータを列挙するWebアプリケーションでは,
しかし,
「次へ」
このようにすべてのケースに対応できるような汎用的なコードを書こうとすると結構大変なので,
そんな面倒なページ繰りを,
Pagination例その1:基本のサンプルコード
もしPaginationのコードを見るのが初めてな場合,
Paginationはコントローラーでセットアップし,
リスト app/
<?php
class SampleController extends AppController {
var $name = 'Sample';
var $uses = array('Post');
var $paginate = array(
'limit' => 25,
'order' => array(
'Post.id' => 'desc'
),
);
functon posts() {
$this->set('posts', $this->paginate('Post'));
}
}
次にビューです。PaginatorHelperで表示します。PaginatorHelperはコントローラーで指定しなくても読み込まれています。
リスト app/
<?php
echo $paginator->prev('前へ');
echo $paginator->numbers();
echo $paginator->next('次へ');
?>
たったこれだけで,
| <span class="current">1</span> | <span><a href="/sample/posts/page:2">2</a></span> | <span><a href="/sample/posts/page:3">3</a></span> | <a href="/sample/posts/page:2">次へ</a>
ブラウザ上の表示は図2のようになります。
「前へ」
$paginator->prev('前へ', null, '前へ')
また,