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()); }