Ejemplo n.º 1
0
 public function getServiceConfig()
 {
     return array('invokables' => array(), 'factories' => array('category_repository' => function ($sm) {
         $repository = $sm->get('doctrine.entitymanager.orm_default')->getRepository('Catalog\\Entity\\Category');
         return $repository;
     }, 'product_repository' => function ($sm) {
         $repository = $sm->get('doctrine.entitymanager.orm_default')->getRepository('Catalog\\Entity\\Product');
         return $repository;
     }, 'product_form' => function ($sm) {
         $form = new Form\ProductForm();
         $form->setInputFilter(new Form\ProductFilter());
         return $form;
     }, 'category_form' => function ($sm) {
         $form = new Form\CategoryForm();
         $form->setInputFilter(new Form\CategoryFilter());
         return $form;
     }, 'package_service' => function ($sm) {
         $service = new Service\Comment();
         $service->setRepository($sm->get('category_repository'));
         $service->setCommentForm($sm->get('category_form'));
         return $service;
     }, 'category_service' => function ($sm) {
         $service = new Service\Category();
         $service->setRepository($sm->get('category_repository'));
         //$product_service->setCommentForm($sm->get('product_form'));
         return $service;
     }, 'product_service' => function ($sm) {
         $service = new Service\Product();
         $service->setRepository($sm->get('product_repository'));
         $service->setCommentForm($sm->get('product_form'));
         return $service;
     }));
 }
 public function editAction()
 {
     $viewModel = $this->getViewModel();
     $viewModel->setTerminal(true);
     $id = (int) $this->getEvent()->getRouteMatch()->getParam('id');
     $category = $this->getCategoryTable()->getCategory($id);
     $form = new CategoryForm();
     $form->bind($category);
     if ($this->request->isPost()) {
         $form->setInputFilter($category->getInputFilter())->setData($this->request->getPost());
         if ($form->isValid()) {
             $this->getCategoryTable()->saveCategory($category);
         }
     }
     $viewModel->setVariables(array('form' => $form));
     return $viewModel;
 }