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 addAction() { $form = new ProductForm(); $request = $this->getRequest(); if ($request->isPost()) { $product = new Product(); $form->setInputFilter($product->getInputFilter()); $form->setData($request->post()); if ($form->isValid()) { $formData = $form->getData(); $product->populate(${$formData}); $this->getProductTable()->saveProduct($product); return $this->redirect()->toRoute('catalog-product', array('action' => 'view')); } } return array('form' => $form); }