10
10
11
11
use Magento \CatalogUrlRewrite \Model \ProductUrlRewriteGenerator ;
12
12
use Magento \Store \Model \Store ;
13
- use Magento \Framework \App \ObjectManager ;
14
13
15
14
/**
16
15
* Sitemap resource product collection model
@@ -82,6 +81,16 @@ class Product extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
82
81
*/
83
82
protected $ _mediaConfig ;
84
83
84
+ /**
85
+ * @var \Magento\Catalog\Model\Product
86
+ */
87
+ protected $ productModel ;
88
+
89
+ /**
90
+ * @var \Magento\Catalog\Helper\Image
91
+ */
92
+ protected $ catalogImageHelper ;
93
+
85
94
/**
86
95
* @param \Magento\Framework\Model\ResourceModel\Db\Context $context
87
96
* @param \Magento\Sitemap\Helper\Data $sitemapData
@@ -93,6 +102,8 @@ class Product extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
93
102
* @param \Magento\Catalog\Model\Product\Gallery\ReadHandler $mediaGalleryReadHandler
94
103
* @param \Magento\Catalog\Model\Product\Media\Config $mediaConfig
95
104
* @param string $connectionName
105
+ * @param \Magento\Catalog\Model\Product $productModel
106
+ * @param \Magento\Catalog\Helper\Image $catalogImageHelper
96
107
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
97
108
*/
98
109
public function __construct (
@@ -105,7 +116,9 @@ public function __construct(
105
116
\Magento \Catalog \Model \ResourceModel \Product \Gallery $ mediaGalleryResourceModel ,
106
117
\Magento \Catalog \Model \Product \Gallery \ReadHandler $ mediaGalleryReadHandler ,
107
118
\Magento \Catalog \Model \Product \Media \Config $ mediaConfig ,
108
- $ connectionName = null
119
+ $ connectionName = null ,
120
+ \Magento \Catalog \Model \Product $ productModel = null ,
121
+ \Magento \Catalog \Helper \Image $ catalogImageHelper = null
109
122
) {
110
123
$ this ->_productResource = $ productResource ;
111
124
$ this ->_storeManager = $ storeManager ;
@@ -115,6 +128,8 @@ public function __construct(
115
128
$ this ->mediaGalleryReadHandler = $ mediaGalleryReadHandler ;
116
129
$ this ->_mediaConfig = $ mediaConfig ;
117
130
$ this ->_sitemapData = $ sitemapData ;
131
+ $ this ->productModel = $ productModel ?: \Magento \Framework \App \ObjectManager::getInstance ()->get (\Magento \Catalog \Model \Product::class);
132
+ $ this ->catalogImageHelper = $ catalogImageHelper ?: \Magento \Framework \App \ObjectManager::getInstance ()->get (\Magento \Catalog \Helper \Image::class);
118
133
parent ::__construct ($ context , $ connectionName );
119
134
}
120
135
@@ -419,12 +434,11 @@ protected function _getMediaConfig()
419
434
*/
420
435
private function getProductImageUrl ($ image )
421
436
{
422
- $ productObject = ObjectManager::getInstance ()->get (\Magento \Catalog \Model \Product::class);
423
- $ imgUrl = ObjectManager::getInstance ()
424
- ->get (\Magento \Catalog \Helper \Image::class)
425
- ->init ($ productObject , 'product_page_image_large ' )
426
- ->setImageFile ($ image )
427
- ->getUrl ();
437
+ $ productObject = $ this ->productModel ;
438
+ $ imgUrl = $ this ->catalogImageHelper
439
+ ->init ($ productObject , 'product_page_image_large ' )
440
+ ->setImageFile ($ image )
441
+ ->getUrl ();
428
442
429
443
return $ imgUrl ;
430
444
}
0 commit comments