【CakePHP】Pagination(ページネーション)を使用する:prev, next
バージョン:CakePHP 2.x
Pagination(ページネーション)を使用して「<< 前へ」や「次へ >>」のリンクを作成する場合は、
prevとnextを使えば簡単に実現することができます。
基本的な使い方
基本的な使い方は下記の通りです。下記をViewに書けばリンクが表示されます。
echo $this->Paginator->prev('<< 前へ', array(), null, array('class' => 'prev disabled'));
echo $this->Paginator->next('次へ >>', array(), null, array('class' => 'next disabled'));
実際の出力例
前のページが存在する場合、prevの出力は下記のようになります。
<span class="prev"> <a rel="prev" href="/xxxx/index/page:1/sort:title/order:desc"> << 前へ </a> </span>
前のページが存在しない場合は下記のような出力です。
<span class="prev disabled"><< 前へ</span>
パラメーターとオプションについて
prevとnextの構文は下記となります。
PaginatorHelper::prev($title = '<< Previous', $options = array(), $disabledTitle = null, $disabledOptions = array()) PaginatorHelper::next($title = 'Next >>', $options = array(), $disabledTitle = null, $disabledOptions = array())
パラメーター | 説明 |
---|---|
$title (string) | リンクのタイトル文字(デフォルト:'<< Previous’,’Next >>’) |
$options (mixed) | リンクのオプション(後述) |
$disabledTitle (string) | リンク無効時のタイトル |
$disabledOptions (mixed) | リンク無効時のオプション(後述) |
オプションについては下記になります。($optionsと$disabledOptions)
オプション | 説明 |
---|---|
tag | 使用したいタグ。falseを設定するとタグを使用しません。(デフォルト:span) |
escape | リンクタイトルをエスケープするか(デフォルト:true) |
model | 使用するモデル名(デフォルト:PaginatorHelper::defaultModel()) |
disabledTag | リンク無効時に使用したいタグ |
オプション「tag」について
例えばリンクが「spanタグ」で囲まれていたのでを「liタグ」に変更したい場合は、下記となります。
echo $this->Paginator->prev('<< 前へ', array('tag' => 'li'));
出力は下記のようになります。
<li class="prev"> <a rel="prev" href="/xxxx/index/page:1/sort:title/order:desc"> << 前へ </a> </li>
また、「false」を設定することでタグを消すこともできます。
echo $this->Paginator->prev('<< 前へ', array('tag' => false));
出力は下記のようになります。
<a rel="prev" href="/xxxx/index/page:1/sort:title/order:desc"> << 前へ </a>