Skip to content

Commit 6877798

Browse files
committed
Removed area simulation. Resolver improvements
1 parent a60e55d commit 6877798

File tree

1 file changed

+18
-24
lines changed

1 file changed

+18
-24
lines changed

app/code/Magento/CatalogGraphQl/Model/Resolver/Product/SmallImageUrl.php

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@
77

88
namespace Magento\CatalogGraphQl\Model\Resolver\Product;
99

10-
use Magento\Catalog\Helper\Image as CatalogImageHelper;
10+
use Magento\Catalog\Helper\ImageFactory as CatalogImageHelperFactory;
1111
use Magento\Catalog\Model\Product;
1212
use Magento\Catalog\Model\ResourceModel\Product\GalleryFactory as GalleryResourceFactory;
13-
use Magento\Framework\App\Area;
14-
use Magento\Framework\App\AreaList;
1513
use Magento\Framework\GraphQl\Config\Element\Field;
1614
use Magento\Framework\GraphQl\Query\Resolver\Value;
1715
use Magento\Framework\GraphQl\Query\Resolver\ValueFactory;
1816
use Magento\Framework\GraphQl\Query\ResolverInterface;
1917
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
18+
use Magento\Store\Model\Store;
2019
use Magento\Store\Model\StoreManagerInterface;
2120

2221
/**
@@ -30,14 +29,9 @@ class SmallImageUrl implements ResolverInterface
3029
private $galleryResourceFactory;
3130

3231
/**
33-
* @var AreaList
32+
* @var CatalogImageHelperFactory
3433
*/
35-
private $areaList;
36-
37-
/**
38-
* @var CatalogImageHelper
39-
*/
40-
private $catalogImageHelper;
34+
private $catalogImageHelperFactory;
4135

4236
/**
4337
* @var ValueFactory
@@ -51,21 +45,18 @@ class SmallImageUrl implements ResolverInterface
5145

5246
/**
5347
* @param ValueFactory $valueFactory
54-
* @param CatalogImageHelper $catalogImageHelper
55-
* @param AreaList $areaList
48+
* @param CatalogImageHelperFactory $catalogImageHelperFactory
5649
* @param GalleryResourceFactory $galleryResourceFactory
5750
* @param StoreManagerInterface $storeManager
5851
*/
5952
public function __construct(
6053
ValueFactory $valueFactory,
61-
CatalogImageHelper $catalogImageHelper,
62-
AreaList $areaList,
54+
CatalogImageHelperFactory $catalogImageHelperFactory,
6355
GalleryResourceFactory $galleryResourceFactory,
6456
StoreManagerInterface $storeManager
6557
) {
6658
$this->valueFactory = $valueFactory;
67-
$this->catalogImageHelper = $catalogImageHelper;
68-
$this->areaList = $areaList;
59+
$this->catalogImageHelperFactory = $catalogImageHelperFactory;
6960
$this->galleryResourceFactory = $galleryResourceFactory;
7061
$this->storeManager = $storeManager;
7162
}
@@ -92,18 +83,21 @@ public function resolve(
9283
/* If small_image is not loaded for product, need to load it separately */
9384
if (!$product->getSmallImage()) {
9485
$galleryResource = $this->galleryResourceFactory->create();
95-
$currentStoreId =$this->storeManager->getStore()->getId();
96-
$productImages = $galleryResource->getProductImages($product, [$currentStoreId]);
86+
$storeIds = [
87+
Store::DEFAULT_STORE_ID,
88+
$this->storeManager->getStore()->getId()
89+
];
90+
$productImages = $galleryResource->getProductImages($product, $storeIds);
9791
$productSmallImage = $this->getSmallImageFromGallery($productImages);
9892
$product->setSmallImage($productSmallImage);
9993
}
10094

101-
/* Design area is necessary to return the correct storefront image URL (or a placeholder) */
102-
$area = $this->areaList->getArea(Area::AREA_FRONTEND);
103-
$area->load(Area::PART_DESIGN);
104-
105-
$smallImageURL = $this->catalogImageHelper->init($product, 'product_small_image')->getUrl();
106-
$product->getMediaAttributes();
95+
$catalogImageHelper = $this->catalogImageHelperFactory->create();
96+
$smallImageURL = $catalogImageHelper->init(
97+
$product,
98+
'product_small_image',
99+
['type' => 'small_image']
100+
)->getUrl();
107101

108102
$result = function () use ($smallImageURL) {
109103
return $smallImageURL;

0 commit comments

Comments
 (0)