Yes, you have to pass this to the view anyway.
First variant is to call your view like:
$template->render(‘view_name’, array(‘rowsCount’ => $rowsCount, ‘itempsPerPage’ => $ipp, ‘curPage’ => $page));
Second variant is to create properties for all that data and pass only reference to the calling controller to the view.
First is PUSH, second is PULL approach. But you have to do it anyway.
You could get some ideas about how to implement something similar in your MVC.
The thing I like about the Zend_Paginator is that you are passing just a select object to it - and the paginator itself modifies the select query based on request parameters. Nice approach.
Create a class that calculates the correct limit and offset based on the page. Pagination is a just a number game based on the total amount of records, records per page and current page. It deserves a separate class. Then you can even place some display logic in that class to build pagination dropdowns, navs and/or the dropdown javascript if you hate repeating all that stuff as well. You could even make it a separate class that requires a pagination object.
controller
$pagination = new Pagination(10,1200,3);
$offset = $pagination->getOffset();
$limit = $pagination->getLimit();