@@ -171,9 +171,17 @@ public function execute($product, $arguments = [])
171
171
$ product ,
172
172
$ mediaAttrCode ,
173
173
$ clearImages ,
174
- $ newImages ,
175
- $ existImages
174
+ $ newImages
176
175
);
176
+ if (in_array ($ mediaAttrCode , ['image ' , 'small_image ' , 'thumbnail ' ])) {
177
+ $ this ->processMediaAttributeLabel (
178
+ $ product ,
179
+ $ mediaAttrCode ,
180
+ $ clearImages ,
181
+ $ newImages ,
182
+ $ existImages
183
+ );
184
+ }
177
185
}
178
186
179
187
$ product ->setData ($ attrCode , $ value );
@@ -439,20 +447,40 @@ private function getMediaAttributeCodes()
439
447
440
448
/**
441
449
* @param \Magento\Catalog\Model\Product $product
442
- * @param $attrData
443
- * @param array $clearImages
444
450
* @param $mediaAttrCode
451
+ * @param array $clearImages
445
452
* @param array $newImages
446
- * @param array $existImages
447
453
*/
454
+ private function processMediaAttribute (
455
+ \Magento \Catalog \Model \Product $ product ,
456
+ $ mediaAttrCode ,
457
+ array $ clearImages ,
458
+ array $ newImages
459
+ ) {
460
+ $ attrData = $ product ->getData ($ mediaAttrCode );
461
+ if (in_array ($ attrData , $ clearImages )) {
462
+ $ product ->setData ($ mediaAttrCode , 'no_selection ' );
463
+ }
464
+
465
+ if (in_array ($ attrData , array_keys ($ newImages ))) {
466
+ $ product ->setData ($ mediaAttrCode , $ newImages [$ attrData ]['new_file ' ]);
467
+ }
468
+ if (!empty ($ product ->getData ($ mediaAttrCode ))) {
469
+ $ product ->addAttributeUpdate (
470
+ $ mediaAttrCode ,
471
+ $ product ->getData ($ mediaAttrCode ),
472
+ $ product ->getStoreId ()
473
+ );
474
+ }
475
+ }
448
476
/**
449
477
* @param \Magento\Catalog\Model\Product $product
450
478
* @param $mediaAttrCode
451
479
* @param array $clearImages
452
480
* @param array $newImages
453
481
* @param array $existImages
454
482
*/
455
- private function processMediaAttribute (
483
+ private function processMediaAttributeLabel (
456
484
\Magento \Catalog \Model \Product $ product ,
457
485
$ mediaAttrCode ,
458
486
array $ clearImages ,
@@ -462,13 +490,11 @@ private function processMediaAttribute(
462
490
$ resetLabel = false ;
463
491
$ attrData = $ product ->getData ($ mediaAttrCode );
464
492
if (in_array ($ attrData , $ clearImages )) {
465
- $ product ->setData ($ mediaAttrCode , 'no_selection ' );
466
493
$ product ->setData ($ mediaAttrCode . '_label ' , null );
467
494
$ resetLabel = true ;
468
495
}
469
496
470
497
if (in_array ($ attrData , array_keys ($ newImages ))) {
471
- $ product ->setData ($ mediaAttrCode , $ newImages [$ attrData ]['new_file ' ]);
472
498
$ product ->setData ($ mediaAttrCode . '_label ' , $ newImages [$ attrData ]['label ' ]);
473
499
}
474
500
@@ -480,24 +506,14 @@ private function processMediaAttribute(
480
506
$ product ->setData ($ mediaAttrCode . '_label ' , null );
481
507
$ resetLabel = true ;
482
508
}
483
- if (in_array ($ mediaAttrCode , ['image ' , 'small_image ' , 'thumbnail ' ]) &&
484
- (
485
- !empty ($ product ->getData ($ mediaAttrCode . '_label ' ))
486
- || $ resetLabel === true
487
- )
509
+ if (!empty ($ product ->getData ($ mediaAttrCode . '_label ' ))
510
+ || $ resetLabel === true
488
511
) {
489
512
$ product ->addAttributeUpdate (
490
513
$ mediaAttrCode . '_label ' ,
491
514
$ product ->getData ($ mediaAttrCode . '_label ' ),
492
515
$ product ->getStoreId ()
493
516
);
494
517
}
495
- if (!empty ($ product ->getData ($ mediaAttrCode ))) {
496
- $ product ->addAttributeUpdate (
497
- $ mediaAttrCode ,
498
- $ product ->getData ($ mediaAttrCode ),
499
- $ product ->getStoreId ()
500
- );
501
- }
502
518
}
503
519
}
0 commit comments