Question

I want to get image url of product showing ,on product description page in phtml file. any help ?

Was it helpful?

Solution

Try this

$product = $block->getProduct();

$imageUrl = $this->helper('Magento\Catalog\Helper\Image')
                    ->init($product, 'product_base_image')
                    ->constrainOnly(true)
                    ->keepAspectRatio(true)
                    ->keepTransparency(true)
                    ->keepFrame(false)
                    ->resize(150, 150)->getUrl();

OTHER TIPS

use Magento\Catalog\Helper\Image;

/**
         * Catalog Image Helper
         *
         * @var Image
         */
        protected $imageHelper;
public function __construct(
        Image $imageHelper
    ) {
        $this->imageHelper = $imageHelper;
    }

private function getAllSizeImages(ModelProduct $product, $imageFile)
    {
        return [
            'large' => $this->imageHelper->init($product, 'product_page_image_large_no_frame')
                ->setImageFile($imageFile)
                ->getUrl(),
            'medium' => $this->imageHelper->init($product, 'product_page_image_medium_no_frame')
                ->setImageFile($imageFile)
                ->getUrl(),
            'small' => $this->imageHelper->init($product, 'product_page_image_small')
                ->setImageFile($imageFile)
                ->getUrl(),
        ];
    }

This worked for me

// Step 1:  In your custom or block class add a variable  $_image
protected $_image;

//  Step 2: Injecting a class ( Magento\Catalog\Helper\Image ) into constructor
public function __construct(
    Magento\Catalog\Helper\Image $_image
) {
    $this->_image = $_image;
}

//  Step 3: Create a custom function
public function getProductImageUrl($product)
{
    return $this->_image->init($product, 'product_base_image')->constrainOnly(FALSE)
        ->keepAspectRatio(TRUE)
        ->keepFrame(FALSE)
        ->getUrl();
} 

and at last in your respective custom phtml call the getProductImageUrl method in that pass respective $poduct object.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top