フィルタを選択するためのフォームが上部にあるページがあります。送信されると、このフォームデータはZendpaginatorと組み合わせて結果を表示するために使用されます。しかし、paginatorを使用して結果をページングすると、paginatorがフォームを投稿しないため、フォームフィールドが失われます。これらを組み合わせる簡単な方法はありますか?説明が難しいので、これを探すのに苦労しました。
私のコントローラーはこの形式です...
$form = new Application_Form_Myform();
$request = $this->getRequest();
if ($request->isPost()) {
$data = $request->getPost();
$form->populate($data);
// get the data
Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml');
$reportsTBL = new Model_DBTable_Reports();
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Array($reportsTBL->getLog($data)));
$paginator->setCurrentPageNumber($this->_getParam('page',1))
->setItemCountPerPage(50);
$this->view->paginator = $paginator
}
$this->view->form = $form;
ご覧のとおり、これはフォームから値を取得し、最初の送信のためにそれらを保持します。しかし、その後のページネーションのクリックで、それらは失われます。ありがとう!