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)); }
public function addAction() { $formCategory = new CategoryForm(); // On récupère l'objet Request $request = $this->getRequest(); // On vérifie si le formulaire a été posté if ($request->isPost()) { // On instancie notre modèle Category $category = new Category(); // Et on passe l'InputFilter de Category au formulaire $formCategory->setInputFilter($category->getInputFilter()); $formCategory->setData($request->getPost()); // Si le formulaire est valide if ($formCategory->isValid()) { // On prend les données du formulaire qui sont converti pour correspondre à notre modèle Category $category->exchangeArray($formCategory->getData()); // On enregistre ces données dans la table Category $this->categoryTable->saveCategory($category); // Puis on redirige sur la page d'accueil. return $this->redirect()->toRoute('home'); } // Si le formulaire n'est pas valide, on reste sur la page et les erreurs apparaissent } $this->getServiceLocator()->get('Zend\\Log')->info('Une catégorie a été créée !'); return new ViewModel(array('form' => $formCategory)); }
public function editAction() { $category = new Category(); if ($this->params('id') > 0) { $category = $this->getEntityManager()->getRepository('Blog\\Entity\\Category')->find($this->params('id')); } $form = new CategoryForm(); $form->bind($category); $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('Category Saved'); return $this->redirect()->toRoute('category'); } } return new ViewModel(array('category' => $category, 'form' => $form)); }