addGroup($group_id, 1); $group = $form->getSubForm('group_'.$group_id); return $group->__toString(); } private function addFieldToGroup($group_id, $row_id) { $form = new Application_Form_AdvancedSearch(); $form->addGroup($group_id); $group = $form->getSubForm('group_'.$group_id); $group->addRow($row_id); return $group->__toString(); } public function init() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('newfield', 'json') ->addActionContext('newgroup', 'json') ->addActionContext('index', 'json') ->addActionContext('display', 'json') ->initContext(); $this->search_sess = new Zend_Session_Namespace("search"); } public function indexAction() { $data = $this->_getParam('data'); $form = new Application_Form_AdvancedSearch(); // Form has been submitted $form->preValidation($data); //if (!$form->isValid($data)) { //$this->view->form = $form->__toString(); //return; //} // valid form was submitted set as search criteria. $this->search_sess->md = $data; } public function displayAction() { } public function newfieldAction() { $group_id = $this->_getParam('group', 1); $row_id = $this->search_sess->next_row[$group_id]; $this->view->html = $this->addFieldToGroup($group_id, $row_id); $this->view->row = $row_id; $this->search_sess->next_row[$group_id] = $row_id + 1; } public function newgroupAction() { $group_id = $this->search_sess->next_group; $this->view->html = $this->addGroup($group_id); $this->search_sess->next_group = $group_id + 1; $this->search_sess->next_row[$group_id] = 2; } }