Zend_Paginator and Zend_Paginator_Adapter_Null
Apr 19th, 2009
I have been playing around with Zend_Paginator a little more, and came across a use case where I didn't want the Paginator to manage the data, i.e. I was feeling lazy and didn't feel like writing a custom adapter. You can use Zend_Paginator_Adapter_Null to manage the pagination controls and simply pass in the total number of results into the constructor. I.e
[php]
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null('43'));
$paginator->setCurrentPageNumber('1');
$paginator->setItemCountPerPage('20');
$this->view->paginator = $paginator;
[/php]
The 43 I am passing into the constructor is the total number of results, and would likelu not be a static number, but coming from some other data source. For example, if you were using Zend_Service Flickr, it would look like this, assuming the variable $flickr has already been set up:
[php]
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null($flickr->totalResultsAvailable));
$paginator->setCurrentPageNumber('1');
$paginator->setItemCountPerPage('20');
$this->view->paginator = $paginator;
[/php]
Follow the manual on setting up the actual display of the pagination. Now I need to get some more spare time and write a custom adapter for flickr and other Zend Services and also familiarize myself with caching of the paginator.
Posted In: PHP, Zend Framework