public function index(Application $app, Request $request, $class_name_id, $id = null) { // $ClassName = $app['eccube.repository.class_name']->find($class_name_id); if (!$ClassName) { throw new NotFoundHttpException(); } if ($id) { $TargetClassCategory = $app['eccube.repository.class_category']->find($id); if (!$TargetClassCategory || $TargetClassCategory->getClassName() != $ClassName) { throw new NotFoundHttpException(); } } else { $TargetClassCategory = new \Eccube\Entity\ClassCategory(); $TargetClassCategory->setClassName($ClassName); } // $form = $app['form.factory']->createBuilder('admin_class_category', $TargetClassCategory)->getForm(); if ($request->getMethod() === 'POST') { $form->handleRequest($request); if ($form->isValid()) { $status = $app['eccube.repository.class_category']->save($TargetClassCategory); if ($status) { $app->addSuccess('admin.class_category.save.complete', 'admin'); return $app->redirect($app->url('admin_product_class_category', array('class_name_id' => $ClassName->getId()))); } else { $app->addError('admin.class_category.save.error', 'admin'); } } } $ClassCategories = $app['eccube.repository.class_category']->getList($ClassName); return $app->render('Product/class_category.twig', array('form' => $form->createView(), 'ClassName' => $ClassName, 'ClassCategories' => $ClassCategories, 'TargetClassCategory' => $TargetClassCategory)); }
public function index(Application $app, Request $request, $class_name_id, $id = null) { // $ClassName = $app['eccube.repository.class_name']->find($class_name_id); if (!$ClassName) { throw new NotFoundHttpException('商品規格が存在しません'); } if ($id) { $TargetClassCategory = $app['eccube.repository.class_category']->find($id); if (!$TargetClassCategory || $TargetClassCategory->getClassName() != $ClassName) { throw new NotFoundHttpException('商品規格が存在しません'); } } else { $TargetClassCategory = new \Eccube\Entity\ClassCategory(); $TargetClassCategory->setClassName($ClassName); } // $builder = $app['form.factory']->createBuilder('admin_class_category', $TargetClassCategory); $event = new EventArgs(array('builder' => $builder, 'ClassName' => $ClassName, 'TargetClassCategory' => $TargetClassCategory), $request); $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_CLASS_CATEGORY_INDEX_INITIALIZE, $event); $form = $builder->getForm(); if ($request->getMethod() === 'POST') { $form->handleRequest($request); if ($form->isValid()) { log_info('規格分類登録開始', array($id)); $status = $app['eccube.repository.class_category']->save($TargetClassCategory); if ($status) { log_info('規格分類登録完了', array($id)); $event = new EventArgs(array('form' => $form, 'ClassName' => $ClassName, 'TargetClassCategory' => $TargetClassCategory), $request); $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_CLASS_CATEGORY_INDEX_COMPLETE, $event); $app->addSuccess('admin.class_category.save.complete', 'admin'); return $app->redirect($app->url('admin_product_class_category', array('class_name_id' => $ClassName->getId()))); } else { log_info('規格分類登録エラー', array($id)); $app->addError('admin.class_category.save.error', 'admin'); } } } $ClassCategories = $app['eccube.repository.class_category']->getList($ClassName); return $app->render('Product/class_category.twig', array('form' => $form->createView(), 'ClassName' => $ClassName, 'ClassCategories' => $ClassCategories, 'TargetClassCategory' => $TargetClassCategory)); }
private function newTestClassCategory($TestCreator, $TestClassName) { $TestClassCategory = new \Eccube\Entity\ClassCategory(); $TestClassCategory->setName('立方体')->setRank(100)->setClassName($TestClassName)->setDelFlg(false)->setCreator($TestCreator); return $TestClassCategory; }
/** * 規格分類を生成する. * * @param $classcategory_name string 規格分類名 * @param $class_name \Eccube\Entity\ClassName 規格名 * @param $rank string 規格分類のランク * @return void */ function createClassCategory($classcategory_name, $class_name, $rank) { $ClassCategory = new \Eccube\Entity\ClassCategory(); $ClassCategory->setCreator($this->app['eccube.repository.member']->find(2))->setDelFlg((string) '0')->setName($classcategory_name)->setRank($rank)->setClassName($class_name)->setRank($rank); $this->saveEntity($ClassCategory); switch ($class_name->getName()) { case 'Size': $this->arrClassCategory1[] = $ClassCategory; break; case 'Color': $this->arrClassCategory2[] = $ClassCategory; break; default: } print "+"; }