core
db
html
utility
Pager
クラス概要
Pagerクラスはページナビゲーションを表示するための機能を提供します。
基本的な処理の流れとしては、データ総数、1ページ表示件数、現在のページを設定し、paginateメソッドによって処理を実行します。
Pagerの詳細はマニュアルを参照してください。
基本的な処理の流れとしては、データ総数、1ページ表示件数、現在のページを設定し、paginateメソッドによって処理を実行します。
Pagerの詳細はマニュアルを参照してください。
Curry対応バージョン
バージョン 1.2.1 以降
クラスファイル位置
curry/utility/pager.php
フィールド
公開されるフィールドはありません。
メソッド
| メソッド名 | アクセス | 概要 |
|---|---|---|
| setUrl | public |
ページ付けする対象のURLを指定します。 生成されるページナビゲーションの個々のページのアンカータグに設定されるURLとなります。 URLにページ番号のパラメータを含める必要があるため、動的となるページ番号部分をプレースホルダとして"%page%"というフォーマットで指定ます。 するとpaginateメソッドによって生成されるページングデータのURLとして、プレースホルダ部分がページ番号に置き換わったものが出力されます。 setRequestメソッドにより、Pagerクラスにリクエスト情報を設定すると、setUrlの処理は自動的に行われるため、実行の必要はありません。 $pager = new Pager(); $pager->setUrl('http://www.hoge.com/data/list/?p=%page%'); |
| setDataCount | public |
表示対象データの件数の総数を指定します。 ページ数計算の元となるので、pagenateメソッドを実行する前に必ず指定する必要があります。 |
| setCountPerPage | public |
1ページに表示するデータ数を指定します。 ページ数計算の元となります。 デフォルトは10に設定されています。 |
| setCurrentPage | public |
現在表示中のページを指定します。 通常はURLのクエリパラメーターより、setQueryKeyメソッドによって指定したキーから取得した値を指定します。 指定しなかった場合は1となります。 |
| setOutputOption | public |
ページナビゲーション表示のオプションを指定します。 指定できる項目についてはマニュアルを参照してください。 |
| outputTag | public | paginateメソッドによって生成されたページング情報をもとにページナビゲーションのHTMLタグを生成し、出力します。 |
| getPageInfo | public |
paginateメソッドによって生成されたページング情報を配列データとして取得します。 このデータはページナビゲーションの各ページの配列になっており、各ページへのアンカーURLを含みます。 |
| getDataOffset | public |
現在のページで取得対象となるデータの取得開始行番号を取得します。 事前にpaginateメソッドを実行する必要があります。 これにより取得した値は、データ取得SQLのOFFSET指定に利用します。 |
| paginate | public |
ページング処理を実行します。 事前にデータ総数をsetDataCountメソッドで指定しておく必要があります。 |
| getTag | public | paginateメソッドによって生成されたページング情報をもとにページナビゲーションのHTMLタグを生成し、取得します。 |
| setDisplayRange | public |
ページナビゲーションのページ表示を、現在のページの前後何ページ分まで表示するかを指定します。 例えば現在のページが8でsetPageRangeに3を指定した場合、ナビゲーションで表示されるページは5 6 7 8 9 10 11となります。 |
| setRequest | public |
リクエスト情報をセットします。 これにより、リクエスト情報をもとにsetUrlとsetCurrentPageが自動的に実行されます。 具体的には、実行中のアクションメソッドのURLがクエリパラメータ"p"を付加した状態でページナビゲーションのURLとして設定されます。 そして$_GET['p']の値を現在ページとして取得し、Pagerに設定します。 以上の処理が自動的に行われるため、PagerではsetRequestを利用することを推奨します。 |