« バリデーションFormヘルパーをより簡単に記述する方法 »

ページ送り機能1.2 RC2(基本版)

ページ送り機能1.2 RC2(基本版)

パーマリンク 2008/07/04 09:46:30 著者: cakephp メール
カテゴリ: ヘルパー, ビュー, コントローラー

CakePHP1.2 RC2

CakePHP1.2 からは標準でページ送り機能がついています。

まずは、コントローラーに下記のように記載します。

function index()
{
    $option = array(
                'conditions' => array(
                                    'flg' => '0'
                                ),
                'limit' => 20,
                'order' => array(
                            'created' => 'desc'
                           )
              );
    $this->paginate = $option;
    $data = $this->paginate();
    $this->set(compact('data'));
}

$option で条件や表示件数やソートなどの指定をします。


次に、ビューの書き方です。

戻る・次へのリンク

<?php e($paginator->prev('戻る')); ?>
<?php e($paginator->next('次へ')); ?>



1 | 2 | 3 | 4 などのページ番号のリンク

<?php
    e($paginator->numbers(
                    array(
                        'separator' => '&nbsp;',
                        'modulus' => 14,
                    )
                  ));
?>

modulus は表示させるページ数(現在の表示ページは除く)


上記との関連でこの先のページもある事を示す「...」の表示

<?php
    //現在のページ数-modulus/2 > 1
    if ($paginator->counter(array('format' => '%page%')) - 7 > 1) {
        e('...');
    }
?>
<?php
    //現在のページ数+modulus/2 < トータルページ数
    if ($paginator->counter(array('format' => '%page%')) + 7 < $paginator->counter(array('format' => '%pages%'))) {
        e('&nbsp;');
    }
?>


これだけでページ送り機能が実現できます。

ですが、特に管理画面などで同じようなページ送り機能が必要な場合に毎回これを書くのは面倒です。

そこで、app/views/elements/paginator.thtml を作成し、そこに上で書いたコードを全て記述します。
そして、ビュー側は作成したエレメントを呼び出すだけにします。

<?php e($this->element('paginator')); ?>

ビューがシンプルになりました。


関連記事

この記事へのトラックバック アドレス

トラックバックURL(右クリックでURLのコピーをしてください)

モデレーション待ちのフィードバック

この投稿にはモデレーション待ちのフィードバックが 2 件あります....

コメントを残す


頂いたメールアドレスはこのサイト上には表示されません

頂いたURLは表示されます。
(改行が自動で <br /> になります)
(Name, email & website)
(ユーザに、メッセージ・フォームを通じた連絡を許可します (あなたのメール・アドレスは表示されません))
2018年9月
 << <   > >>
            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            

CakePHPに関する情報をまとめていきます。

開発スピードがアップできればうれしいです。

>>連絡はこちらへどうぞ



CakePHP最新版
CakePHP 1.2.3.8166


CakePHPの書籍

CakePHPによる実践Webアプリケーション開発

CakePHP1.2で作成する人にオススメ。
とても参考になります。

まるごとPHP!(vol.2)

安藤さんの解説が載っています。
AmazonのPagination部分は参考になります。

CakePHPによるWebアプリケーション開発

まだ読んだことありません

CakePHPポケットリファレンス
CakePHPポケットリファレンス
CakePHP1.2 でやるなら、これがあると何かと便利♪

CakePHP徹底入門
CakePHP徹底入門
CakePHP1.2 を今から始めるならここから

Fast CakePHP
Fast CakePHP
シンプルでわかりやすい CakePHP の入門書

CakePHPガイドブック
CakePHPガイドブック
CakePHP1.1 ではとても参考にした CakePHP 最初の入門書

検索

XMLフィード

16ブログ     powered by b2evolution