|
11 | 11 | */
|
12 | 12 | namespace Magento\Wishlist\Block\Share\Email;
|
13 | 13 |
|
| 14 | +use Magento\Catalog\Model\Product; |
| 15 | +use Magento\Catalog\Model\Product\Configuration\Item\ItemResolverInterface; |
| 16 | +use Magento\Catalog\Model\Product\Image\UrlBuilder; |
| 17 | +use Magento\Framework\View\ConfigInterface; |
| 18 | +use Magento\Wishlist\Model\Item; |
| 19 | + |
14 | 20 | /**
|
15 | 21 | * @api
|
16 | 22 | * @since 100.0.2
|
17 | 23 | */
|
18 | 24 | class Items extends \Magento\Wishlist\Block\AbstractBlock
|
19 | 25 | {
|
| 26 | + /** @var ItemResolverInterface */ |
| 27 | + private $itemResolver; |
| 28 | + |
20 | 29 | /**
|
21 | 30 | * @var string
|
22 | 31 | */
|
23 | 32 | protected $_template = 'Magento_Wishlist::email/items.phtml';
|
24 | 33 |
|
| 34 | + /** |
| 35 | + * @param \Magento\Catalog\Block\Product\Context $context |
| 36 | + * @param \Magento\Framework\App\Http\Context $httpContext |
| 37 | + * @param ItemResolverInterface $itemResolver |
| 38 | + * @param array $data |
| 39 | + * @param ConfigInterface|null $config |
| 40 | + * @param UrlBuilder|null $urlBuilder |
| 41 | + */ |
| 42 | + public function __construct( |
| 43 | + \Magento\Catalog\Block\Product\Context $context, |
| 44 | + \Magento\Framework\App\Http\Context $httpContext, |
| 45 | + ItemResolverInterface $itemResolver, |
| 46 | + array $data = [], |
| 47 | + ConfigInterface $config = null, |
| 48 | + UrlBuilder $urlBuilder = null |
| 49 | + ) { |
| 50 | + $this->itemResolver = $itemResolver; |
| 51 | + parent::__construct($context, $httpContext, $data, $config, $urlBuilder); |
| 52 | + } |
| 53 | + |
| 54 | + /** |
| 55 | + * Identify the product from which thumbnail should be taken. |
| 56 | + * |
| 57 | + * @param Item $item |
| 58 | + * @return Product |
| 59 | + */ |
| 60 | + public function getProductForThumbnail(Item $item) : Product |
| 61 | + { |
| 62 | + return $this->itemResolver->getFinalProduct($item); |
| 63 | + } |
| 64 | + |
25 | 65 | /**
|
26 | 66 | * Retrieve Product View URL
|
27 | 67 | *
|
|
0 commit comments