Example #1
0
 public function createClone(ProductCloneEvent $event, $originalProductDefaultI18n, $originalProductDefaultPrice)
 {
     // Build event and dispatch creation of the clone product
     $createCloneEvent = new ProductCreateEvent();
     $createCloneEvent->setTitle($originalProductDefaultI18n->getTitle())->setRef($event->getRef())->setLocale($event->getLang())->setVisible(0)->setVirtual($event->getOriginalProduct()->getVirtual())->setTaxRuleId($event->getOriginalProduct()->getTaxRuleId())->setDefaultCategory($event->getOriginalProduct()->getDefaultCategoryId())->setBasePrice($originalProductDefaultPrice->getPrice())->setCurrencyId($originalProductDefaultPrice->getCurrencyId())->setBaseWeight($event->getOriginalProduct()->getDefaultSaleElements()->getWeight())->setDispatcher($event->getDispatcher());
     $event->getDispatcher()->dispatch(TheliaEvents::PRODUCT_CREATE, $createCloneEvent);
     $event->setClonedProduct($createCloneEvent->getProduct());
 }