getRequest(); $url = Url::fromRequest(); if ($request->isPost() && ($sort = $request->getPost('sort'))) { $url->setParam('sort', $sort); if ($dir = $request->getPost('dir')) { $url->setParam('dir', $dir); } else { $url->removeParam('dir'); } $this->redirectNow($url); } } /** * Create a SortBox widget at the `sortBox' view property * * In case the current view has been requested as compact this method does nothing. * * @param array $columns An array containing the sort columns, with the * submit value as the key and the label as the value * @param Sortable $query Query to set on the newly created SortBox * * @return $this */ protected function setupSortControl(array $columns, Sortable $query = null) { if (! $this->view->compact) { $req = $this->getRequest(); $this->view->sortBox = $sortBox = SortBox::create( 'sortbox-' . $req->getActionName(), $columns )->setRequest($req); if ($query !== null) { $sortBox->setQuery($query); } $sortBox->handleRequest(); } return $this; } /** * Create a Limiter widget at the `limiter' view property * * In case the current view has been requested as compact this method does nothing. * * @return $this */ protected function setupLimitControl() { if (! $this->view->compact) { $this->view->limiter = new Limiter(); } return $this; } /** * Set the view property `paginator' to the given Zend_Paginator * * In case the current view has been requested as compact this method does nothing. * * @param Zend_Paginator $paginator The Zend_Paginator for which to show a pagination control * * @return $this */ protected function setupPaginationControl(Zend_Paginator $paginator) { if (! $this->view->compact) { $this->view->paginator = $paginator; } return $this; } /** * Set the view property `filterEditor' to the given FilterEditor * * In case the current view has been requested as compact this method does nothing. * * @param Form $editor The FilterEditor * * @return $this */ protected function setupFilterControl($editor) { if (! $this->view->compact) { $this->view->filterEditor = $editor; } return $this; } }