예제 #1
0
 public function editAction()
 {
     $id = (int) $this->params()->fromRoute('id', 0);
     $category = new Category();
     if ($this->params('id') > 0) {
         $category = $this->getEntityManager()->getRepository('Blog\\Entity\\Category')->find($this->params('id'));
     }
     $form = new CategoryForm($this->getEntityManager());
     $form->setHydrator(new DoctrineEntity($this->getEntityManager(), 'Blog\\Entity\\Category'));
     $form->bind($category);
     $form->get('submit')->setAttribute('value', 'Edit');
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setInputFilter($category->getInputFilter());
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $em = $this->getEntityManager();
             $em->persist($category);
             $em->flush();
             $this->flashMessenger()->addSuccessMessage('Post Saved');
             return $this->redirect()->toRoute('category');
         }
     }
     return new ViewModel(array('category' => $category, 'form' => $form));
 }