Pear::Pager ページの再設定をするには…
いっときよりは日本語でも情報の多くなってきたような気がするPear::Pager…
だけど、私としてはまだ不十分なような…
まぁマニュアルとソースを見ればそんでいいっちゃいいんですけど、
ぱっと何かをしようとするときに、サンプルでもあればうれしい物…
そんな感じで今回探していた機能としては、Pagerのインスタンスを生成したあとに、
ページの再設定をする方法♪
まぁとあるクラス(仮にsample.classと考えましょう)にて、
$pagerとPrivateな変数がありまして、SetPagerという関数を設けています。
public function setPager()
{
// パラメータ
$pageparam = array(
'itemData' => $this->data, //アイテムの配列
'mode' => 'Jumping', // 表示タイプ(Jumping|Sliding)
'perPage' => 20, // 一ページに表示する件数
'delta' => 10, // 一ページに表示するリンク数
'totalItems' => $this->cnt, // ページング対象データの総数
'separator' => ' | ', // ページリンクのセパレータ文字列
'prevImg' => '≪戻る', // 戻るリンクのテキスト(imgタグ使用可)
'nextImg' => '次へ≫', // 次へリンクのテキスト(imgタグ使用可)
'append' => true,
'fixFileName'=> false,
'path' => $this->path,
'fileName' => $this->method
);
if(is_null($this->pager)){
include_once('Pager/Pager.php');
$this->pager = & Pager::factory($pageparam);
}else if(!is_null($this->pager)){
$this->pager->setOptions($pageparam);
$this->pager->build();
}
}
これでsampleクラスのインスタンスが存在していて、$pager変数に既にセットされている場合でも、
ページ標示部分は再設定されます。
上記のポイント箇所は「build」。
Pagerのマニュアル「http://www.go-pear.org/package/Pager/docs/latest/Pager/Pager_Common.html#methodbuild」
で、マニュアルでこいつを見てあげると…
(私はソースからみましたけど…)
setOptions()を呼んだ後にね♪と言っておりますので、そのようにします。
データの削除などにより、標示するデータは再取得するけども、
現在ページの位置だとかを覚えておきたいしなどという時、
つまりはPear::Pagerの現在位置だとかそういう情報を覚えておきたい時には
便利だと思います。