/**
  * 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);
 }
示例#2
0
 /**
  * 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.');
 }