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));
 }
Esempio n. 2
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));
 }
 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));
 }
 /**
  * @see \Zend\ServiceManager\FactoryInterface::createService()
  * @param  \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
  * @return \Blog\Form\CategoryForm
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $form = new CategoryForm('category');
     return $form->setInputFilter(new CategoryInputFilter());
 }