public function editAction() { $form = new \Admin\Form\NewsForm(); $id = (int) $this->params()->fromRoute('id', 0); if ($id > 0) { $model = $this->getObjectManager()->find($this->_modelName, $id); $form->setData($model->toArray()); $form->setAttribute('action', '/admin/' . $this->_modelAlias . '/edit/' . $id); $form->get('submit')->setAttribute('value', 'Edit'); $model->setUpdatedDate(new \DateTime()); $viewVariables['action'] = 'Edit'; } else { $model = new News(); $form->setAttribute('action', '/admin/' . $this->_modelAlias . '/add'); $form->get('submit')->setAttribute('value', 'Add'); $model->setUpdatedDate(new \DateTime()); $model->setCreatedDate(new \DateTime()); $viewVariables['action'] = 'Add'; } $request = $this->getRequest(); if ($request->isPost()) { $form->setData($request->getPost()); $model->populate($request->getPost()); $model->setBody(stripslashes($model->getBody())); if ($form->isValid()) { $this->getObjectManager()->persist($model); $this->getObjectManager()->flush(); return $this->redirect()->toUrl('/admin/' . $this->_modelAlias); } } $viewVariables['form'] = $form; $viewVariables['model'] = $model; $this->_view->setTemplate('admin/' . $this->_modelAlias . '/edit'); $this->_view->setVariables($viewVariables); return $this->_view; }
public function editAction() { $this->init(); $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('pages', array('action' => 'add')); } $getData = $this->getTable()->getData($id); $form = new NewsForm(); $form->bind($getData); //$form->get('submit')->setValue('Edit'); $form->get('submit')->setAttribute('value', 'Update & Save'); $request = $this->getRequest(); //$dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter'); //$form->setDbAdapter($dbAdapter); if ($request->isPost()) { //$post = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray() ); $post = $request->getPost()->toArray(); $news = new News(); //$dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter'); //$pages->setDbAdapter($dbAdapter); $form->setInputFilter($news->getInputFilter()); $form->setData($post); if ($form->isValid()) { $data = $form->getData(); //echo '<pre>'; print_r($data); exit; $isValid = true; $dataArr['id'] = $request->getPost('id'); $dataArr['title'] = $request->getPost('title'); $dataArr['external_url'] = $request->getPost('external_url'); $dataArr['news_content'] = $request->getPost('news_content'); $dataArr['modified_on'] = time(); $dataArr['created_on'] = time(); $dataArr['active'] = $request->getPost('active'); $news->exchangeArray($dataArr); $this->getTable()->saveData($news); return $this->redirect()->toRoute('news', array('action' => 'index')); } } return array('id' => $id, 'form' => $form, 'getData' => $getData); }