CakePHP

CakePHP paginateのAjax化

CakePHPの基本機能である「paginate」(ページング機能)。
この便利な機能をAjax化するにはどうするのか、を今回少し解説してみたいと思います。

今では当たり前になりつつあるAjax。多くの方が開発、利用してきて大変便利でもあります。
では「paginate」(ページング機能)の機能を簡単にAjaxしてみるということで、
今回はAjaxには必ず必要なものがあります。
まずはAjaxを利用するため「prototype.js」のJavaScriptライブラリが必要となります。
CakePHPのAjaxヘルパーでは必ず必要となるライブラリですので、事前に用意して
View側で利用できるようにしてください。

さてView側の「paginate」(ページング機能)に対してAjax化をして見ましょう。
ここでまずは「$paginator->sort()」をAjax化するには、第3引数に次の値を指定します。

$options['updaate']='ID';

「ID」にはDOMのID名を指定します。(HTMLタグの「id=”」の部分です)
「$paginator->sort()」の第1引数はソート名、第2引数はソートする
データベースのフィールド名が指定しているとして次のような記述になります。

$paginator->sort('名前','name',array('update'=>'updateerea'));

上記の場合「名前」のリンクをクリックすると、ソートの結果を「updateerea」のDOMに反映します。
これだけで「$paginator->sort()」のAjax化は完了です。

通常はAjaxの長いコードを記述する必要があるのですが、簡単なコーディングでAjax化ができてしまいます。
その他に「$paginator->prev()」と「$paginator->next()」には第2引数に、
「$paginator->numbers()」は第1引数にそれぞれ同じように記述することでAjax化にすることができます。

Ajaxは若干JavaScriptの知識も必要ではありますが、Ajaxを少し試して見たい方には簡単に確認できると思います(笑

コメント