Files
2026-09-15 10:35:56 +08:00

29 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace Esun\EmailPreview\Block\Order\Email\Items;
use Magento\Catalog\Helper\Image;
use Magento\Catalog\Api\ProductRepositoryInterface;
class DefaultItems extends \Magento\Sales\Block\Order\Email\Items\Order\DefaultOrder
{
public function __construct(\Magento\Framework\View\Element\Template\Context $context, private readonly Image $imageHelper, private readonly ProductRepositoryInterface $products, array $data = []) { parent::__construct($context, $data); }
public function getProductImageUrl(): string
{
$item = $this->getItem();
try {
$product = $item->getProductId()
? $this->products->getById((int)$item->getProductId(), false, (int)$item->getStoreId())
: $this->products->get((string)$item->getSku(), false, (int)$item->getStoreId());
$image = (string)($product->getThumbnail() ?: $product->getSmallImage() ?: $product->getImage());
if ($image === '' || $image === 'no_selection') {
return '';
}
return (string)$this->imageHelper->init($product, 'product_thumbnail_image')->resize(96, 96)->getUrl();
} catch (\Throwable) {
return '';
}
}
}