![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-catalog/Block/Product/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Catalog\Block\Product; use Magento\Catalog\Helper\ImageFactory as HelperFactory; use Magento\Catalog\Model\Product; /** * @deprecated 103.0.0 * @see ImageFactory */ class ImageBuilder { /** * @var ImageFactory */ protected $imageFactory; /** * @var HelperFactory */ protected $helperFactory; /** * @var Product */ protected $product; /** * @var string */ protected $imageId; /** * @var array */ protected $attributes = []; /** * @param HelperFactory $helperFactory * @param ImageFactory $imageFactory */ public function __construct( HelperFactory $helperFactory, ImageFactory $imageFactory ) { $this->helperFactory = $helperFactory; $this->imageFactory = $imageFactory; } /** * Set product * * @param Product $product * @return $this */ public function setProduct(Product $product) { $this->product = $product; return $this; } /** * Set image ID * * @param string $imageId * @return $this */ public function setImageId($imageId) { $this->imageId = $imageId; return $this; } /** * Set custom attributes * * @param array $attributes * @return $this */ public function setAttributes(array $attributes) { $this->attributes = $attributes; return $this; } /** * Retrieve image custom attributes for HTML element * * @return string */ protected function getCustomAttributes() { $result = []; foreach ($this->attributes as $name => $value) { $result[] = $name . '="' . $value . '"'; } return !empty($result) ? implode(' ', $result) : ''; } /** * Calculate image ratio * * @param \Magento\Catalog\Helper\Image $helper * @return float|int */ protected function getRatio(\Magento\Catalog\Helper\Image $helper) { $width = $helper->getWidth(); $height = $helper->getHeight(); if ($width && $height) { return $height / $width; } return 1; } /** * Create image block * * @param Product|null $product * @param string|null $imageId * @param array|null $attributes * @return Image */ public function create(Product $product = null, string $imageId = null, array $attributes = null) { $product = $product ?? $this->product; $imageId = $imageId ?? $this->imageId; $attributes = $attributes ?? $this->attributes; return $this->imageFactory->create($product, $imageId, $attributes); } }