Zend_Paginator

要するにページャであるが、DBと組み合わせても使えるし組み合わせなくても使える。ただ、DBを使っており、かつZend_Db_Tablesなどを使っているのであればそれ用に書いた方が負荷としては非常に低くなる、はず。

Zend_Paginator_Adapter_DbTableSelectを使う

これは、単純に言えばZend_Db_Selectオブジェクトを整えておけという事で、fetchAllとかを出す前の段階の変数を食わせる必要があると。

だから、Zend_Db_Tableとかだと$select = $this→select()…といったような記述をするかと思うが、その後でそのselectオブジェクトをただただページャに食わせる

面倒なのでサンプルスクリプト見てネ

          $select = $this->なんらかのZendDbTableモデル->selectRows();
          $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbTableSelect($select));
 
          $page = $this->getRequest()->getParam('page'); // pageというパラメータで飛ばすように(仕込む)
          $paginator->setItemCountPerPage(100) // 100件
              ->setCurrentPageNumber($page);
          Zend_Paginator::setDefaultScrollingStyle('Sliding');
          Zend_View_Helper_PaginationControl::setDefaultViewPartial(
              'page.phtml' // <- パーシャルビューでpage.phtmlというのを作らにゃいかん
          );
          $paginator->setView($this->view);
          $this->view->paginator = $paginator;
zendframework/zend_paginator.txt · 最終更新: 2012/04/28 16:40 by admin
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0