cakePHP1.2 PaginatorHelperの拡張

Twitter ツイート Hatena Bookmark ブックマーク

Paginatorで表示件数とか出すのが意外とめんどくさい。
viewにガシガシ書いていくのはなんかかっこ悪いので、PaginatorHelperを拡張してみました。

app/views/helper/spaginator.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
require_once "paginator.php";
class SpaginatorHelper extends PaginatorHelper
{
	function limit($limit = null,$spname = "件"){
		$model = $this->params['controller'];

		if(!is_numeric($limit)){
			$limit = 10;
		}



		if(!isset($this->params['paging'][$model]['defaults']['limit']) && $limit == 10){
			$this->params['paging'][$model]['defaults']['limit']  = 10;
		}
		if(!isset($this->params['named']['limit'])){
			$this->params['named']['limit'] = $this->params['paging'][$model]['defaults']['limit'];
		}

		if($this->params['named']['limit'] == $limit){
			return $limit.$spname;
		}

		return $this->link("$limit$spname",array("limit" => $limit));

	}
}

?>

とこんな感じに、Extendsさせてあげればおk。
あとはview側で、こんな風に書いてあげればいいんです。

1
2
3
4
表示件数:
<?php echo $spaginator->limit(10) ?> | <?php echo $spaginator->limit(20) ?> | <?php echo $spaginator->limit(50) ?>

</p>

これで、表示件数が楽に表示できます。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。