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; }