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の現在位置だとかそういう情報を覚えておきたい時には
便利だと思います。