2016-04-24 59 views
1

在Magento 1我一直使用獲取的Magento 2所有產品圖片

$_product->getMediaGallery('images') 

但是從Magento的2我看到

$productImage = $block->getImage($_product, $image); 
echo $productImage->toHtml(); 

它僅獲得第一個源產品形象。 如何獲得第二張或第三張圖片(不僅是基本圖片)?

GetMediaGallery函數不存在?

回答

0

步驟1:從你的主題開放list.phtml \ Magento_Catalog \模板\產品

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); 

$ _imagehelper = $這 - >輔助( '的Magento \目錄\助手\圖片');

在PHTML文件之上添加

然後添加下面的代碼在你想要畫廊圖像產品循環

<div class="left-carousel"> 

        <div class="product-small-thumbs"> 
        <?php $product = $objectManager->create('Magento\Catalog\Model\Product')->load($_product->getId()); 


          $images = $product->getMediaGalleryImages(); 
          if($images->count()>0){?> 
          <div class="carousel carousel-<?php $_product->getId()?>"> 


         <?php 
          $i = 0; 
          foreach($images as $child){ 
          $i++; 
          $productImage = $_imagehelper->init($product, 'product_page_image_large') 
           ->setImageFile($child->getFile())->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(TRUE)->resize(81,53) 
           ->getUrl(); 

          $productImagedata = $_imagehelper->init($product, 'product_page_image_large') 
          ->setImageFile($child->getFile())->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(TRUE)->resize(285,240) 
          ->getUrl(); 
          if($i==1) continue; 

          ?> 
          <div class="slide"> 
          <img data-id="smallthumbs-<?php echo $_product->getId();?>" data-img="<?php echo $productImagedata; ?>" src="<?php echo $productImage; ?>"/> 
          </div> 

          <?php 

          } 
          ?> 
          </div> 

          <?php 
          } 
        ?> 
        </div> 
       </div>