thinkphp のページング クラスは、私の意見では依然として非常に強力であり、使用するのも非常に便利です。アイテムの総数、各ページに表示されるアイテムの数、およびスタイル構成配列を渡す限り、簡単にページネーションを表示でき、フロントエンドのページ番号コードのスタイルを簡単に調整できます。
ここではいくつかの設定パラメータを示します:
public $firstRow // 開始行番号
;
public $listRows; //リストの各ページに表示される行数
public $parameter; // ページネーションジャンプ時に取得されるパラメータ
public $totalRows; //総行数
public $totalPages; //ページングページの総数
public $rollPage = 11;//ページングバーの各ページに表示されるページ数
public $lastSuffix = true // 最後のページに総ページ数を表示するかどうか
;
private $p = 'p' //ページングパラメータ名
;
private $url = '' //現在のリンク URL
;
private $nowPage = 1 //デフォルトの最初のページ
;
通常、新しいオブジェクトを作成するとき:
$ページ=新規 ThinkPage($count,25);// ページング クラスをインスタンス化し、レコードの合計数と各ページに表示されるレコード数 (25) を渡します
$表示= $Page->show();// 出力をページ単位で表示する
$count は総ページ数、25 は各ページに表示されるレコードの数です。
設定を行わない出力エフェクトもデフォルトです。次のような調整を行うことができます。
$Page->rollPage = 5、これにより最大 5 つのページ番号が表示されます。$Page->lastSuffix=false;//このパラメータは、最後のページに合計数が表示されないようにするためのものです。ヘッダーを通じて合計数を表示できるためです。
private $config = array(
'header' => '
合計 %TOTAL_ROW% レコード',
'前' => '
'次' => '>>',
'最初' => '1...',
'last' => '...%TOTAL_PAGE%',
'テーマ' => '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%',
);
合格
パブリック関数 setConfig($name,$value) {
if(isset($this->config[$name])) {
$this->config[$name] = $value;
}
}
この関数を使用すると、これらのデフォルトをオーバーライドできます。たとえば、テーマにヘッダー情報がない場合、%HEADER% を追加して表示できます。ヘッダーの内容は、キーが header である配列によって上書きすることもできます。他のパラメータも同様です。ヘッダーの位置を前または後ろに固定するのではなく、自分で調整できます。非常に柔軟に使用できます。
以下では、thinkphp ページング クラスが構成ファイルを通じてそのスタイルを変更する方法を説明します。
$page_str = str_replace(
array($this->config['header'], $this->nowPage, $up_page, $down_page, $the_first, $link_page, $the_end, $this->totalRows, $this->totalPages),
$this->config['テーマ']);
この str_replace がページングクラスの設計の本質と言えます。まず、クラスの各属性の値が個別に割り当てられ、最後にこの関数が呼び出され、config 内のテーマが読み込まれます。表示するコンテンツを表し、変数は対応する配列に従って置き換えることにより、構成内のテーマ (デフォルトのテーマはサブセットによってオーバーライドできます) が実現され、ページングとコンテンツの順序の表示方法を制御します。
最後に、thinkphp は一般的に使用される前ページ、次ページ、最初のページ、および現在のページにデフォルト クラスを追加するため、CSS ファイルを導入することでそのスタイルを変更できます。
http://www.bkjia.com/PHPjc/907371.html