@@ -74,7 +74,7 @@ class Helper
74
74
* @var \Magento\Framework\Stdlib\DateTime\Filter\DateTime
75
75
*/
76
76
private $ dateTimeFilter ;
77
-
77
+
78
78
/**
79
79
* @var \Magento\Catalog\Model\Product\LinkTypeProvider
80
80
*/
@@ -253,13 +253,16 @@ protected function setProductLinks(\Magento\Catalog\Model\Product $product)
253
253
254
254
$ product = $ this ->productLinks ->initializeLinks ($ product , $ links );
255
255
$ productLinks = $ product ->getProductLinks ();
256
+ $ linkTypes = [];
256
257
257
- /** @var \Magento\Catalog\Api\Data\ProductLinkTypeInterface $linkType */
258
- foreach ($ this ->linkTypeProvider ->getItems () as $ linkType ) {
259
- $ readonly = $ product ->getData ($ linkType ->getName () . '_readonly ' );
258
+ /** @var \Magento\Catalog\Api\Data\ProductLinkTypeInterface $linkTypeObject */
259
+ foreach ($ this ->linkTypeProvider ->getItems () as $ linkTypeObject ) {
260
+ $ linkTypes [$ linkTypeObject ->getName ()] = $ product ->getData ($ linkTypeObject ->getName () . '_readonly ' );
261
+ }
260
262
261
- if (isset ($ links [$ linkType ->getName ()]) && !$ readonly ) {
262
- foreach ((array ) $ links [$ linkType ->getName ()] as $ linkData ) {
263
+ foreach ($ linkTypes as $ linkType => $ readonly ) {
264
+ if (isset ($ links [$ linkType ]) && !$ readonly ) {
265
+ foreach ((array )$ links [$ linkType ] as $ linkData ) {
263
266
if (empty ($ linkData ['id ' ])) {
264
267
continue ;
265
268
}
@@ -268,7 +271,7 @@ protected function setProductLinks(\Magento\Catalog\Model\Product $product)
268
271
$ link = $ this ->getProductLinkFactory ()->create ();
269
272
$ link ->setSku ($ product ->getSku ())
270
273
->setLinkedProductSku ($ linkProduct ->getSku ())
271
- ->setLinkType ($ linkType-> getName () )
274
+ ->setLinkType ($ linkType )
272
275
->setPosition (isset ($ linkData ['position ' ]) ? (int )$ linkData ['position ' ] : 0 );
273
276
$ productLinks [] = $ link ;
274
277
}
0 commit comments