1

In Magento 2.2.3, I am using the following for loop to get the product image. When I print that image url, it takes the previous product's URL actually it doesnt have the URL.

 $products = $this->getCollection ();
    foreach ( $products as $product ) {

        $preImageUrl = $product->getImage ();
}
  • Please check my answer and upvote accept if it's helpful for you. – Rohan Hapani Jul 6 '18 at 4:13
1

You can also get full image path of product using this code :

protected $_product;
protected $_storeManager;

public function __construct(
 ...
\Magento\Catalog\Model\Product $product,
\Magento\Store\Model\StoreManagerInterface $storeManager,
 ...
)
{
...
$this->_product = $product;
$this->$_storeManager = $storeManager;
...
}

public function execute(){
    $product = $this->_product->load('product_id');
    $mediaPath = $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
    $product_image_full_path =  $mediaPath . 'catalog/product' . $product->getImage();
}

Hope, it will useful for you !!

  • hi @Rohan, this will return the product image without cache, same image how can we load in list page, default magento category page loads images with cache folder – jafar pinjar Jun 7 at 12:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.