public function eventAfterExecuting() { if (!empty($this->params['params']['remove'])) { foreach ($this->listingsProducts as $listingProduct) { /** @var Ess_M2ePro_Model_Amazon_Listing_Product $amazonListingProduct */ $amazonListingProduct = $listingProduct->getChildObject(); $variationManager = $amazonListingProduct->getVariationManager(); if ($variationManager->isRelationChildType()) { $childTypeModel = $variationManager->getTypeModel(); $parentListingProduct = $childTypeModel->getParentListingProduct(); $this->parentsForProcessing[$parentListingProduct->getId()] = $parentListingProduct; if ($childTypeModel->isVariationProductMatched()) { $parentAmazonListingProduct = $childTypeModel->getAmazonParentListingProduct(); $parentAmazonListingProduct->getVariationManager()->getTypeModel()->addRemovedProductOptions($childTypeModel->getProductOptions()); } } $listingProduct->setData('status', Ess_M2ePro_Model_Listing_Product::STATUS_NOT_LISTED); $listingProduct->save(); $listingProduct->deleteInstance(); } } parent::eventAfterExecuting(); }