/** * Product detail render test maker */ public function testProductDetailWhenRegisterMakerAndMakerUrl() { $productId = $this->ProductMaker->getId(); $crawler = $this->client->request('GET', $this->app->url('product_detail', array('id' => $productId))); $html = $crawler->filter('.item_detail')->html(); $this->assertContains($this->ProductMaker->getMaker()->getName(), $html); $this->assertContains($this->ProductMaker->getMakerUrl(), $html); }
/** * New Event:function on version >= 3.0.9 (new hook point) * Save event. * * @param EventArgs $eventArgs */ public function onAdminProductEditComplete(EventArgs $eventArgs) { log_info('Event: product maker hook into the product management complete start.'); /** * @var Form $form */ $form = $eventArgs->getArgument('form'); /** * @var Product $Product */ $Product = $eventArgs->getArgument('Product'); /** * @var ProductMakerRepository $repository */ $repository = $this->app['eccube.plugin.maker.repository.product_maker']; /** * @var ProductMaker $ProductMaker */ $ProductMaker = $repository->find($Product); if (!$ProductMaker) { $ProductMaker = new ProductMaker(); } $maker = $form->get('plg_maker')->getData(); if (!$maker) { if ($ProductMaker->getId()) { log_info('Event: product maker removed', array('Product maker id' => $ProductMaker->getId())); $this->app['orm.em']->remove($ProductMaker); $this->app['orm.em']->flush($ProductMaker); } return; } $makerUrl = $form->get('plg_maker_url')->getData(); $ProductMaker->setId($Product->getId())->setMakerUrl($makerUrl)->setDelFlg(Constant::DISABLED)->setMaker($maker); /** * @var EntityRepository $this->app['orm.em'] */ $this->app['orm.em']->persist($ProductMaker); $this->app['orm.em']->flush($ProductMaker); log_info('Event: product maker save success!', array('Product id' => $ProductMaker->getId())); log_info('Event: product maker hook into the product management complete end.'); }