/** * Set image for product without image if possible * * @param \Magento\Catalog\Model\Product $product * @return \Magento\ConfigurableProduct\Model\Product\Type\Configurable */ public function setImageFromChildProduct(\Magento\Catalog\Model\Product $product) { if (!$product->getData('image') || $product->getData('image') === 'no_selection') { foreach ($this->getUsedProducts($product) as $childProduct) { if ($childProduct->getData('image') && $childProduct->getData('image') !== 'no_selection') { $product->setImage($childProduct->getData('image')); break; } } } return parent::setImageFromChildProduct($product); }