/** * Render the provided pages. This checks if $view->paginator is set and, * if so, uses that. Also, if no scrolling style or partial are specified, * the defaults will be used (if set). * * @param Zend_Paginator (Optional) $paginator * @param string $scrollingStyle (Optional) Scrolling style * @param string $partial (Optional) View partial * @param array|string $params (Optional) params to pass to the partial * @return string * @throws Zend_View_Exception */ public function paginationControl(Zend_Paginator $paginator = null, $scrollingStyle = null, $partial = null, $params = null) { if ($paginator === null) { if (isset($this->view->paginator) and $this->view->paginator !== null and $this->view->paginator instanceof Zend_Paginator) { $paginator = $this->view->paginator; } else { /** * @see Zend_View_Exception */ require_once 'Zend/View/Exception.php'; $e = new Zend_View_Exception('No paginator instance provided or incorrect type'); $e->setView($this->view); throw $e; } } if ($partial === null) { if (self::$_defaultViewPartial === null) { /** * @see Zend_View_Exception */ require_once 'Zend/View/Exception.php'; $e = new Zend_View_Exception('No view partial provided and no default set'); $e->setView($this->view); throw $e; } $partial = self::$_defaultViewPartial; } $pages = get_object_vars($paginator->getPages($scrollingStyle)); if ($params !== null) { $pages = array_merge($pages, (array) $params); } if (is_array($partial)) { if (count($partial) != 2) { /** * @see Zend_View_Exception */ require_once 'Zend/View/Exception.php'; $e = new Zend_View_Exception('A view partial supplied as an array must contain two values: the filename and its module'); $e->setView($this->view); throw $e; } if ($partial[1] !== null) { return $this->view->partial($partial[0], $partial[1], $pages); } $partial = $partial[0]; } return $this->view->partial($partial, $pages); }
/** * Render the provided pages. If no scrolling style or partial * are specified, the defaults will be used (if set). * * @param Zend_Paginator $paginator * @param string $scrollingStyle (Optional) Scrolling style * @param string $partial (Optional) View partial * @return string * @throws Zend_View_Exception */ public function paginationControl(Zend_Paginator $paginator, $scrollingStyle = null, $partial = null) { if (empty($partial)) { if (empty(self::$_defaultViewPartial)) { /** * @see Zend_View_Exception */ require_once 'Zend/View/Exception.php'; throw new Zend_View_Exception('No view partial provided and no default view partial set'); } $partial = self::$_defaultViewPartial; } return $this->view->partial($partial, $paginator->getPages($scrollingStyle)); }