Skip to content

Commit c910b9b

Browse files
committed
#3401: decouple product view gallery images config from Gallery Block
- Code Style improvements
1 parent d866ad8 commit c910b9b

File tree

3 files changed

+22
-16
lines changed

3 files changed

+22
-16
lines changed

app/code/Magento/Catalog/Block/Product/View/Gallery.php

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,18 +78,19 @@ public function getGalleryImages()
7878
{
7979
$product = $this->getProduct();
8080
$images = $product->getMediaGalleryImages();
81-
if ($images instanceof \Magento\Framework\Data\Collection) {
82-
foreach ($images as $image) {
83-
foreach($this->getGalleryImagesConfig()->getItems() as $imageConfig) {
84-
/** @var Product $product */
85-
$image->setData(
86-
$imageConfig->getData('data_object_key'),
87-
$this->_imageHelper->init($product,
88-
$imageConfig['image_id'])
89-
->setImageFile($image->getData('file'))
90-
->getUrl()
91-
);
92-
}
81+
if (!$images instanceof \Magento\Framework\Data\Collection) {
82+
return $images;
83+
}
84+
85+
foreach ($images as $image) {
86+
$galleryImagesConfig = $this->getGalleryImagesConfig()->getItems();
87+
foreach ($galleryImagesConfig as $imageConfig) {
88+
$image->setData(
89+
$imageConfig->getData('data_object_key'),
90+
$this->_imageHelper->init($product, $imageConfig['image_id'])
91+
->setImageFile($image->getData('file'))
92+
->getUrl()
93+
);
9394
}
9495
}
9596

@@ -131,7 +132,7 @@ public function getGalleryImagesJson()
131132
'position' => $image->getData('position'),
132133
'isMain' => $this->isMainImage($image),
133134
]);
134-
foreach($this->getGalleryImagesConfig()->getItems() as $imageConfig) {
135+
foreach ($this->getGalleryImagesConfig()->getItems() as $imageConfig) {
135136
$imageItem->setData(
136137
$imageConfig->getData('json_object_key'),
137138
$image->getData($imageConfig->getData('data_object_key'))

app/code/Magento/Catalog/Model/Product/Gallery/ImagesConfigFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public function create(array $imagesConfig, array $data = [])
3030
{
3131
/** @var \Magento\Framework\Data\Collection $collection */
3232
$collection = $this->dataCollectionFactory->create($data);
33-
array_map(function($imageConfig) use ($collection) {
33+
array_map(function ($imageConfig) use ($collection) {
3434
$collection->addItem(new DataObject($imageConfig));
3535
}, $imagesConfig);
3636

app/code/Magento/Catalog/Test/Unit/Block/Product/View/GalleryTest.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
*/
66
namespace Magento\Catalog\Test\Unit\Block\Product\View;
77

8+
/**
9+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
10+
*/
811
class GalleryTest extends \PHPUnit_Framework_TestCase
912
{
1013
/**
@@ -65,6 +68,7 @@ protected function setUp()
6568
$this->context,
6669
$this->arrayUtils,
6770
$this->jsonEncoderMock,
71+
[],
6872
$this->imagesConfigFactoryMock
6973
);
7074
}
@@ -179,15 +183,16 @@ private function getImagesCollection()
179183
*/
180184
private function getImagesConfigFactory()
181185
{
182-
$this->galleryImagesConfigMock = $this->getMockBuilder('\Magento\Framework\Data\Collection')
186+
$this->galleryImagesConfigMock = $this->getMockBuilder(\Magento\Framework\Data\Collection::class)
183187
->disableOriginalConstructor()
184188
->getMock();
185189

186190
$this->galleryImagesConfigMock->expects($this->any())
187191
->method('getIterator')
188192
->willReturn(new \ArrayIterator($this->getGalleryImagesConfigItems()));
189193

190-
$galleryImagesConfigFactoryMock = $this->getMockBuilder('Magento\Catalog\Model\Product\Gallery\ImagesConfigFactoryInterface')
194+
$galleryImagesConfigFactoryMock = $this
195+
->getMockBuilder(\Magento\Catalog\Model\Product\Gallery\ImagesConfigFactoryInterface::class)
191196
->disableOriginalConstructor()
192197
->getMock();
193198

0 commit comments

Comments
 (0)