CakePHP Pagination まとめ
CakePHP の Pagination に関してまとめてみました。
コントローラでコンポーネント、ヘルパーに Pagination を指定
// 使用コンポーネント名 var $components = array('Pagination'); // 使用ヘルパー名 var $helpers = array('Pagination');
コントローラの一覧表示するアクションでの一覧表示取得方法
$this->Pagination->modelClass = 'Model'; // 使用するモデル $this->Pagination->sortBy = 'created'; // デフォルトのソートするフィールド名 $this->Pagination->direction = 'DESC'; // デフォルトの昇順、降順を指定 $this->Pagination->show = 10; // 1ページに表示する件数 $conditions = array(); // 検索条件 list($order,$limit,$page) = $this->Pagination->init($conditions); $lists = $this->Model->findAll($conditions, $fields, $order, $limit, $page, $recursive);
ビューでのヘルパー使用準備
ビューで Pagination ヘルパーを使用できるようにする
< ?php $pagination->setPaging($paging); ?>
ビューでの総件数と表示している件数の表示
< ?php echo $pagination->result('検索結果:', '/', '?'); ?>件
上記のように指定すると「検索結果:1?10/5253件」と表示されます。
ソートするフィールドを変更するリンクを表示する
< ?php echo $pagination->sortBy('field_name', 'フィールド名', 'ModelName'); ?>
field_name にソートするフィールド名、
フィールド名にリンクに表示する名前、
ModelName にはフィールド名が属するモデル名
を指定します。
モデル名は $this->Pagination->modelClass と同じ場合には省略可能です。
また、sortBy メソッドは
veiws/heplers/pagination.php
function sortBy ($value, $title=NULL, $Model=NULL,$escapeTitle=true,$upText=' ^',$downText=' v')
のように定義されています。見て分かるとおり第5、6引数を指定することにより、ソートしたときのリンクのフィールド名につく「^」「v」の文字を変更することができます。
select タグによってソートを指定したいときは sortBySelect メソッドがあります。
function sortBySelect($sortFields, $t='Sort By: ',$upText=' ^',$downText=' v')
関連する投稿
2 comments
コメントをどうぞ
Additional comments powered by BackType
[...] CakePHP Pagination まとめ | Sun Limited Mt. cakephpでPagenation付ける。 (tags: cakephp pagination) [...]
3applying…
…