예제 #1
0
 /**
  * Retrieve collection of gallery images
  *
  * @param \Magento\Catalog\Api\Data\ProductInterface $product
  * @return \Magento\Catalog\Model\Product\Image[]|null
  */
 public function getGalleryImages(\Magento\Catalog\Api\Data\ProductInterface $product)
 {
     $images = $product->getMediaGalleryImages();
     if ($images instanceof \Magento\Framework\Data\Collection) {
         foreach ($images as $image) {
             /** @var $image \Magento\Catalog\Model\Product\Image */
             $image->setData('small_image_url', $this->imageHelper->init($product, 'product_page_image_small')->setImageFile($image->getFile())->getUrl());
             $image->setData('medium_image_url', $this->imageHelper->init($product, 'product_page_image_medium')->constrainOnly(true)->keepAspectRatio(true)->keepFrame(false)->setImageFile($image->getFile())->getUrl());
             $image->setData('large_image_url', $this->imageHelper->init($product, 'product_page_image_large')->constrainOnly(true)->keepAspectRatio(true)->keepFrame(false)->setImageFile($image->getFile())->getUrl());
         }
     }
     return $images;
 }
예제 #2
0
파일: Data.php 프로젝트: vv-team/foodo
 /**
  * @param Product $product
  * @return array
  */
 protected function getGalleryImages(Product $product)
 {
     $result = [];
     $mediaGallery = $product->getMediaGalleryImages();
     if ($mediaGallery instanceof \Magento\Framework\Data\Collection) {
         foreach ($mediaGallery as $media) {
             $result[$media->getData('value_id')] = $this->getAllSizeImages($product, $media->getData('file'));
         }
     }
     return $result;
 }