Example #1
0
 /**
  * Resize product images and save results to image cache
  *
  * @param Product $product
  * @return $this
  */
 public function generate(Product $product)
 {
     $galleryImages = $product->getMediaGalleryImages();
     if ($galleryImages) {
         foreach ($galleryImages as $image) {
             foreach ($this->getData() as $imageData) {
                 $this->processImageData($product, $imageData, $image->getFile());
             }
         }
     }
     return $this;
 }
 public function testGetMediaGalleryImages()
 {
     /** @var $model \Magento\Catalog\Model\Product */
     $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\Product');
     $this->assertEmpty($model->getMediaGalleryImages());
     $this->_model->setMediaGallery(['images' => [['file' => 'magento_image.jpg']]]);
     $images = $this->_model->getMediaGalleryImages();
     $this->assertInstanceOf('Magento\\Framework\\Data\\Collection', $images);
     foreach ($images as $image) {
         $this->assertInstanceOf('Magento\\Framework\\DataObject', $image);
         $image = $image->getData();
         $this->assertArrayHasKey('file', $image);
         $this->assertArrayHasKey('url', $image);
         $this->assertArrayHasKey('id', $image);
         $this->assertArrayHasKey('path', $image);
         $this->assertStringEndsWith('magento_image.jpg', $image['file']);
         $this->assertStringEndsWith('magento_image.jpg', $image['url']);
         $this->assertStringEndsWith('magento_image.jpg', $image['path']);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function getMediaGalleryImages()
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getMediaGalleryImages');
     if (!$pluginInfo) {
         return parent::getMediaGalleryImages();
     } else {
         return $this->___callPlugins('getMediaGalleryImages', func_get_args(), $pluginInfo);
     }
 }
Example #4
0
 /**
  * Resize product images and save results to image cache
  *
  * @param Product $product
  * @return $this
  */
 public function generate(Product $product)
 {
     $galleryImages = $product->getMediaGalleryImages();
     if ($galleryImages) {
         foreach ($galleryImages as $image) {
             foreach ($this->getData() as $params) {
                 $this->imageHelper->init($product, $params['type'], $image->getFile())->resize($params['width'], $params['height'])->save();
             }
         }
     }
     return $this;
 }