как получить URL-адрес основного изображения продукта в файле phtml?
Я хочу получить URL-адрес изображения продукта, отображаемого на странице описания продукта в файле phtml. какая-нибудь помощь?
2
3 answers
Попробуйте это
$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();
14
Author: Dinesh Yadav, 2020-06-14 12:50:10
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(),
];
}
3
Author: Birjitsinh Zala, 2018-01-18 10:37:12
Это сработало для меня
// 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();
}
И, наконец, в вашем соответствующем пользовательском phtml вызовите метод getProductImageUrl
в этом передайте соответствующий объект $poduct
.
3
Author: Asheem Patro, 2018-10-09 10:15:23